私はcronジョブを設定していました:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
主な問題は、スケジュール時に「メールが/ var / spool / mail / luckyに送信されました」というエラーがあることです。
myfile.shの内容は次のとおりです。
mkdir jh
cd jh
私はcronジョブを設定していました:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
主な問題は、スケジュール時に「メールが/ var / spool / mail / luckyに送信されました」というエラーがあることです。
myfile.shの内容は次のとおりです。
mkdir jh
cd jh
回答:
これは、cronジョブとして設定されているスクリプトでは問題ありません。
mkdir jh
cd jh
jh
ディレクトリを作成する必要がある場所のフルパスを指定する必要があります。また、このパスには、新しいファイル/ディレクトリを作成する権限が必要です。
たとえば、スクリプトは次のようになります。
#!/bin/sh
mkdir /home/lucky/jh
cd /home/lucky/jh
/usr/bin/sh
の正しい道でもありませんsh
。正しいパスは/bin/sh
です。これはwhereis sh
コマンドで確認できます。それでも、cronジョブは次のようになります。
20 * * * * /home/lucky/myfile.sh
スクリプトを実行可能にすることを忘れないでください:
chmod +x /home/lucky/myfile.sh
これがフォルダを作成していると思われるパスは/
です。これは、 実行するすべてのファイルのフォルダーおよびファイルへのフルパスcrontab
が必要だからです。
したがって、myfile.shのパスは次のようになります。
mkdir <absolutePath>/jh
cd <absolutePath>/jh
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
この行は正しいですが、shが/ usr / bin / shに存在するかどうかを確認するためにパスを確認する必要があります(which sh
shが存在するパスを表示するために使用します。私の場合は/ bin / shでした)
crontabの作成を急いでいる場合、このリンクにはかなり良い例があります
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/