自宅の Debian GNU/Linux サーバにおいて、データをバックアップするためのスクリプトを書いて、/etc/weekly に置いておきました。これで毎週、自動的にバックアップが行われるハズ! …でしたが、エラーが出て実行されていませんでした。作成したスクリプトを手動で起動する分には正しく動作していたにも関わらず、です。
cron daemon さんからの error mail 曰く;
run-parts: failed to exec /etc/cron.weekly/mybackup: Exec format error run-parts: /etc/cron.weekly/mybackup exited with return code 1
原因は、スクリプト ファイルの shebang の付け忘れ。手動でスクリプトを直接実行する分には shebang が無くても動くのですが、run-parts
によって起動される際には必須とのこと。
実は shebang を書いていたつもりが、#!/bin/sh
と書くべきところを #/bin/sh
と typo していて、小一時間気が付かなかったというオチ。ぐんにょり