Cronジョブがログファイルに書き込まれない

Cronジョブがログファイルに書き込まれない

実行時にログファイルに日付を記録するシェルスクリプトがあります。スクリプトを手動で実行すると、正しい出力がファイルに書き込まれます。しかし、これは自動化されなければならず、cronジョブとして実行するとファイルに何も書き込まれず、その理由が混乱しています。

予約されたもの:

0 * * * * tomcat /usr/bin/sh /apps/rdsreplication/snap_replication.sh

サンプルコード:

#/bin/bash/

echo ---------------------------------------- >> create_snap.txt
echo Start time:  >> create_snap.txt
date >> create_snap.txt

どんな助けでも大変感謝します!

ベストアンサー1

シェルスクリプトにはログファイルへのフルパスが必要です。

#/bin/bash/
# assuming you want the txt file in the same directory as the bash script
logfile="$(dirname "$0")/create_snap.txt"
{
    echo ----------------------------------------
    echo Start time:
    date 
} >> "$logfile"

おすすめ記事