我有一个bash脚本,它始终提供输出,我将其重定向到文件,我试图做的是旋转重定向文件,下面是我启动原始脚本并重定向它:< / p>
.
somecode
.
su - username -c "command >> /path/to/directory/output.txt" &
.
.
code continues..
以下是我试图创建的crontab:
cd /path/to/directory/
timestamp=`date "+%Y%m%d"`
mv ./output.txt ./logs/output.txt_$timestamp
touch output.txt
chmod 757 ./output.txt
gzip ./logs/output.txt_$timestamp
find ./logs/output.txt* -type f -mtime +2 | xargs rm
或者这个也没能完成这项任务:
timestamp=`date "+%Y%m%d"`
cp ./output.txt ./logs/output.txt_$timestamp
echo "" > ./output.txt
gzip ./logs/output.txt_$timestamp
在第一个代码中原始脚本失败并且不再有效,在第二个脚本中它不会清理output.txt文件。
有没有办法在保持脚本运行的同时做到这一点?注意;我正在运行Unix Solaris。
提前致谢。
答案 0 :(得分:0)
您可以使用以下命令。
su - username -c "command >> /path/to/directory/output`date "+%Y%m%d"`.txt" &
或者这可能对你有帮助 https://linux.die.net/man/8/logrotate