0

crontabに追加 * * * * * myTask.sh 2>&1 >> /var/log/myTask.logすると、すべてのログが次の場所に入力されます。myTask.logただし、代替の場所を提供できる方法があるかどうかを知りたい (たとえそれが/dev/null.またはパーミッション) ジョブが影響を受けることはありません。

とにかくそれを行うことができるかどうか教えてください。

4

1 に答える 1

0

1 つのアイデアはspongemoreutilsパッケージから使用することです。つまり、sudo apt-get install moreutils、次に:

* * * * * myTask.sh 2>&1 | sponge /var/log/myTask.log

プログラム スポンジはすべての入力を吸収し、最後にのみ書き込みます。これは、プログラムが終了するまで、ファイルのアクセス許可やその他のチェックが行われないことを意味します。欠点としては、sponge は入力をバッファリングするために必要な量のメモリを消費するため、プログラムが大量に印刷する場合、これは望ましくない可能性があります。

于 2013-06-24T12:07:51.430 に答える