尝试轮换日志,但 tee 命令在执行后无法返回

尝试轮换日志,但 tee 命令在执行后无法返回

我的日志nohup.out由用户拥有,而我尝试使用具有特权访问权限的root日志进行轮换systemsudo

我编写了以下脚本来轮换日志。

猫旋转日志.sh

cp /var/www/html/nohup.out /var/www/html/nohup.out_$(date "+%Y.%b.%d-%H.%M.%S");
sudo tee  /var/www/html/nohup.out;

问题是当我运行rotatelog.sh它时,它完成了工作,但控制权没有返回到命令行终端。

我尝试过> /var/www/html/nohup.out,但出现Permission denied错误。

如何旋转日志并返回命令行?

答案1

tee将阻塞等待标准输入。

如果您的系统提供了该truncate命令,您可以尝试

sudo truncate -s 0 /var/www/html/nohup.out

否则,你可以做类似的事情

: | sudo tee  /var/www/html/nohup.out

提供tee一个空的标准输入。

相关内容