在脚本运行时更改重定向的路径

时间:2016-11-01 13:54:24

标签: bash shell solaris-10

我有一个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。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令。

su - username -c "command >> /path/to/directory/output`date "+%Y%m%d"`.txt" &

或者这可能对你有帮助 https://linux.die.net/man/8/logrotate