複数行の Bash カスタムログファイル

複数行の Bash カスタムログファイル

次の単純なbashスクリプトがあります。

#!/bin/sh
TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"`
echo "$TIMESTAMP restart" /etc/init.d/nginx restart > /usr/local/nginx/logs/restart.log 2>&1

私のrestart.logに次の出力が生成されます。

2020-04-17 18:22:30 Restarting nginx (via systemctl): nginx.service. 

ただし、次にスクリプトを実行すると、出力行が削除され、代わりに最後の再起動の行だけが残ります。常に1つのスレッドしかありません。これは複数行ではなく「1行」スクリプトのようです。

今問題は、次のように前の項目をすべて保持する方法です。

2020-04-17 18:22:30 Restarting nginx (via systemctl): nginx.service.
2020-04-18 19:12:30 Restarting nginx (via systemctl): nginx.service.
2020-04-19 20:02:30 Restarting nginx (via systemctl): nginx.service.

私はこれが簡単でなければならないことを知っていますが、それを理解することはできません。すべてのコメント/コメント/提案は大いに感謝します。よろしくお願いします!

答え1

こんにちは、o/pを扱っています:

次の内容を添付してください。

echo "$TIMESTAMP restart" /etc/init.d/nginx restart >> /usr/local/nginx/logs/restart.log 2>&1

関連情報