web-dev-qa-db-ja.com

cronエントリを定期的に実行する方法は?

ターミナルを介して機能し、cronを介して1回実行するスクリプトの行があります。インターネットからファイルをダウンロードし、見つかった日付という名前の特定の場所に保存します。

cd /media/path/to/folder && wget "http://www.web/address/name.gif" && mv name.gif "$(date +'%Y_%m_%d_T%H%M')"

私はUbuntuを初めて使用するので、これを一度に1ビットずつまとめ、ターミナルでまとめてから、[スケジュールされたタスク]ウィンドウに入力された1回限りのタスクとして正常に実行しました。 croncrontab -eを介して追加すると、次のように1時間ごとの最初の1分に実行されます。
1 * * * * cd ...
1回実行されましたが、繰り返されませんでした。

「スケジュールされたタスク」で開くと、次のように表示されます。

コマンドに1つ以上の文字%が含まれています。これはcron専用であり、Gnome-schedule ...では使用できません。

スケジュールされたタスクの1回限りのタスクで同じスクリプトを問題なく使用できるため、このエラーはわかりません。
スクリプトエラーに関するアドバイスはありますか?それが繰り返されない理由の知識?スクリプトの簡略化?
助けてくれてありがとう!

2
user142691

次のように%記号をエスケープする必要があります。

date +\%Y_\%m

1
Bert