こんにちは。 cronjobを使用してシェルスクリプトを送信すると、次の問題が発生しました。
バックアップヘルプコマンドを添付しました。
* * * * * ankush /home/ankush/test.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list
backup help list
backup: Commands are:
adddump add dump schedule
addhost add host to config
addvolentry add a new volume entry
addvolset create a new volume set
apropos search by help text
dbverify check ubik database integrity
deldump delete dump schedule
deletedump delete dumps from the database
delhost delete host to config
delvolentry delete a volume set sub-entry
delvolset delete a volume set
diskrestore restore partition
dump start dump
dumpinfo provide information about a dump in the database
help get help on commands
interactive enter interactive mode
jobs list running jobs
kill kill running job
labeltape label a tape
listdumps list dump schedules
listhosts list config hosts
listvolsets list volume sets
quit leave the program
readlabel read the label on tape
restoredb restore backup database
savedb save backup database
scantape dump information recovery from tape
setexp set/clear dump expiration dates
status get tape coordinator status
version show version
volinfo query the backup database
volrestore restore volume
volsetrestore restore a set of volumes
私のコンソールでコマンドフローを見つけてください。
ankush@hn0-ank-d:~$ more test_script.sh
echo "test"
ankush@hn0-ank-d:~$ * * * * * ankush /home/ankush/test_script.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list
ankush@hn0-ank-d:~$
コードを初めて実行すると、sudo apt install openafs-client をインストールするように求められます。直接行ってインストールしてみました。
なぜですか?
答え1
コマンドラインから直接crontabジョブ仕様を入力したいようです。それは動作しません。
crontab ジョブを追加するには、次のようにします。
$ crontab -e
クローンタブを編集します。そこに作業仕様を追加して保存し、エディタを終了します。
あなたの作業仕様、
* * * * * ankush /home/ankush/test_script.sh
システムcrontab操作のように見えます。つまり、6番目のフィールドであるユーザー名があります(crontabのマニュアルを参照man 5 crontab
)。あなたの個人的なクローンタブにはこれがあってはなりません。
私はこれがあなたのcrontabにあるべきだと思います:
* * * * * /home/ankush/test_script.sh
/home/ankush/test_script.sh
これにより、1分ごとにスクリプトが呼び出されます。この操作の結果またはエラーはあなたにEメールで送信する必要があります。
あなたが受け取っている秘密のエラーメッセージは、* * *
シェルからコマンドなどを実行しようとしたときに発生します。 cronやスクリプトとはまったく関係ありません。シェルは単に*
現在のディレクトリのすべてのファイルに展開され、コマンドで実行しようとします。明らかに、最初の名前は意味がわからないいくつかのコマンドの名前に拡張された*
ためにbackup codebak
発生します。backup
codebak
答え2
あなたは一般的な仕事をたくさんスケジュールされたジョブエラー。そのうちのいくつかは次のとおりです。
- crontabファイルのコマンド構文エラー
- スクリプトファイルのパスが正しくありません。
- スクリプトファイルに実行権限がありません。
- 構成ファイルで宣言されていない変数の使用
常にコマンド構文を確認し、cronログを確認し、ファイルとディレクトリに対する権限を確認してください。