我正在尝试将一个持续运行的程序的输出重定向到一个名为
但是在这里重定向失败了。我想要的是,无论
您有什么办法可以使重定向基于文件名而不是描述符工作吗?
或者,还有其他用 bash 解决的方法吗?
error_log
的文件中。我的命令如下,其中myprogram.sh
持续运行并生成数据并写入/var/log/httpd/error_log
:
myprogram.sh >> /var/log/httpd/error_log
现在我正在使用logrotate
按小时旋转此文件。我在logrotate
中使用create
命令来重命名原始文件并创建新文件。 logrotate
配置如下:/var/log/httpd/error_log {
# copytruncate
create
rotate 4
dateext
missingok
ifempty
.
.
.
}
但是在这里重定向失败了。我想要的是,无论
error_log
文件是否被 logrotate 旋转,myprogram.sh
都能将数据写入到该文件中,显然是写入到新生成的 error_log
文件。您有什么办法可以使重定向基于文件名而不是描述符工作吗?
或者,还有其他用 bash 解决的方法吗?