cronがジョブを実行するときの「作業ディレクトリ」とは何ですか?
コマンドラインから実行すると機能するスクリプトがありますが、スケジュールを設定するとcron、ファイルやコマンドが見つからないというエラーが発生します。私の質問は2つあります。 を使用してcronジョブをスケジュールするcrontab -e場合、ユーザーIDを許可の基礎として使用しますか?または、ある種のcronユーザーIDとそれに関連する権限を使用しますか? cronジョブが起動されたとき、作業ディレクトリは何ですか?実行するスクリプトを指定するディレクトリですか、それとも別のディレクトリですか? これが私のcronジョブです。 15 7 * * * /home/xxxx/Documents/Scripts/email_ip_script.sh 実際のスクリプトは次のとおりです。 vIP_ADDR="`curl automation.whatismyip.com/n09230945.asp`" echo "$vIP_ADDR" sed "s/IPADDR/$vIP_ADDR/g" template.txt > emailmsg.txt ssmtp XXXXX@gmail.com < emailmsg.txt mail生成されたメッセージを表示すると、次のエラーが表示されcronます。 sed: can't read template.txt: No such file or directory /home/xxxx/Documents/Scripts/email_ip_script.sh: line 15: ssmtp: command not found 見つけることができませんtemplate.txtが、スクリプトと同じディレクトリにあります。実行することもできませんがssmtp、ユーザーとして実行できます。これを適切に機能させるために何が欠けていますか?