プロが教える店舗&オフィスのセキュリティ対策術

当方RedHat Linux 8.0で自宅サーバを構築・運用中の者です。rsyncとsshを使ったバックアップを自動化させようとcronへの登録を試みたのですが、何度やってもエラーになってしまいます。何がいけないのでしょうか。へっぽこ管理人の私にご教授頂ければと思って参上した次第です。

まず、普通に一般ユーザでログインして、crontab -e でviを起動させます。すると、viの画面下部に"/tmp/crontab.19279" 0L, 0C という文字が現れます(crontab.*の数字「*」は毎回異なるようです)。適当にタスクを登録して ":wq" コマンドを入力してファイルの上書き終了をさせようとすると、

"crontab.19293" 4L, 18C written
crontab: installing new crontab
"/tmp/crontab.19293":1: bad day-of-week
errors in crontab file, can't install.
Do you want to retry the same edit?

というエラーメッセージが出てきて更新できません。bad day-of-weekとはどういう意味なんでしょうか?

以上のような現象の解決策はどのようなものなのでしょうか。教えて頂ければ幸いです。

A 回答 (1件)

$ man 5 crontab


とすればcrontabに書くべきフォーマットが載っています。
エラーメッセージにあるように1行目の day of week の項目の値が正しくありません。day of week は週の中の曜日で0~7の値であるべきです。
どのような内容を登録しようとしたか、書いてもらえば一目瞭然なのですが、
分(0~59) 時間(0~23) 日(1~31) 月(1~12,もしくは名前) 週(0~7,0もしくは7が日曜日(ロケールによる),名前でも可) コマンド名
と描かなくてはいけません。それぞれの区切りはタブ、もしくはスペースです。またそれぞれのフィールドはカンマ(,)で区切れば複数の値を設定できます。分、時間、日、月、週それぞれのフィールドはアスタリスク(*)を使えば、全ての値と解釈されます。
    • good
    • 0
この回答へのお礼

ありがとうございます。無事に解決しました。(≧▽≦)

なるほど、day of weekとはそういう意味だったんですか。私はてっきりcrontab.*のタイムスタンプが不正になって処理できないのかと、とんでもない勘違いをしていました(^^;)。ちゃんと記述が正しいか判断してくれるんですね。

毎日一回午前4時20分にバックアップ処理を動作させようと思っていましたので、以下のように記述していました。

20 4 * * rsync -avz -e ssh --delete /home/hikaly/ hogehoge:/home/hikaly/

yosi_yosiさんの回答と照らし合わせて一目瞭然、「週」の指定が抜けていました。というか、「週」の項目があることを知りませんでした。(-_-;)

そこで、以下のようにしたところ、無事にcron登録できました。

20 4 * * * rsync -avz -e ssh --delete /home/hikaly/ hogehoge:/home/hikaly/
(アスタリスクが一つ多い)

どうもありがとうございました。とても助かりました。

お礼日時:2004/07/19 15:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!