小编Alb*_*oss的帖子

将程序的输出重定向到旋转文件

我正在尝试将一个连续运行的程序的输出重定向到一个文件 say error_log.

我正在使用的命令看起来像这样,其中myprogram.sh运行不断生成数据并写入/var/log/httpd/error_log

  • myprogram.sh >> /var/log/httpd/error_log

现在我正在使用logrotate每小时轮换这个文件。我正在使用create命令,logrotate以便它重命名原始文件并创建一个新文件。该logrotate配置的样子

/var/log/httpd/error_log {
# copytruncate
 create
 rotate 4
 dateext
 missingok
 ifempty
 .
 .
 .
}
Run Code Online (Sandbox Code Playgroud)

但这里重定向失败。我想要的是myprogram.sh将数据写入error_log文件,而不管它是否被 logrotate 旋转,显然是写入新生成的error_log文件

任何想法如何使基于重定向工作文件名和不是的描述?

或者

在 bash 中还有其他方法吗?

linux bash redirect logrotate

6
推荐指数
1
解决办法
3836
查看次数

标签 统计

bash ×1

linux ×1

logrotate ×1

redirect ×1