ログを回転しようとしますが、実行後にteeコマンドは返されません。

ログを回転しようとしますが、実行後にteeコマンドは返されません。

私のログは、ユーザーが所有していてnohup.outアクセス権のあるログを使用してroot循環しようとしています。systemsudo

ログを回転させるために、次のスクリプトを作成しました。

猫の回転log.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空の標準入力を入力してください。

関連情報