私の目標は、スクリプトを実行し、そのcrontab
出力(echo
コマンドを介して)をログファイルに保存することです。だから私は以下を使用しています:
$HOME/folder/sh/script.sh 1>$HOME/folder/logs/script.log 2>$HOME/folder/logs/script.err
ただし、コマンドライン(cron
まだ)ではログファイルをまったく表示できません。権限が有効です。
リダイレクトを削除するか、現在のディレクトリ内のファイルのリダイレクトを保持すると、(正しい)ログの内容を表示できます。
bash
入れ子になったフォルダ構造のログファイルにスクリプト出力が表示されないのはなぜですか?
答え1
PATHと権限が確実で、他のコマンドでも同じリダイレクトが機能する場合は、スクリプトが記録したいログファイルまたはフォルダを操作しているようです(あいまいなリダイレクト)。
そうですか?
その場合は、ロギングに関連するすべてを操作するスクリプト行を削除して再試行してください。
有効であれば正解で選択してください。
そうでない場合は、アンインストール2>スクリプトを再実行し、何が起こっているのかを見てください。スクリプトがファイルに書き込めない理由を示すメッセージが表示されることもあります。
頑張ってください!