![尝试轮换日志,但 tee 命令在执行后无法返回](https://linux22.com/image/212423/%E5%B0%9D%E8%AF%95%E8%BD%AE%E6%8D%A2%E6%97%A5%E5%BF%97%EF%BC%8C%E4%BD%86%20tee%20%E5%91%BD%E4%BB%A4%E5%9C%A8%E6%89%A7%E8%A1%8C%E5%90%8E%E6%97%A0%E6%B3%95%E8%BF%94%E5%9B%9E.png)
我的日志nohup.out
由用户拥有,而我尝试使用具有特权访问权限的root
日志进行轮换system
sudo
我编写了以下脚本来轮换日志。
猫旋转日志.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
一个空的标准输入。