Home > サーバー > cronで起動するプログラムの実行属性が落ちていた

cronで起動するプログラムの実行属性が落ちていた

この土日を使って会社のWebサイトをWordPressで構成した。 深夜前にテストサイトから本番サイトへ切り替えた。
一部のページにスタイルシート関係の修正が残っていたが、特に大きな問題はなさそうだった。
ひとまずホッとして、前日より早く就寝した。

今日、会社へ行き、メールチェックをしていると、「Cron Daemon」さんからスクリプトが実行できなかったとのメールが届いていた。うむむむぅ、一体何やろ。シェルスクリプトの実行属性が落ちていたので、実行できなかったという内容だった。

そういえば、テストサイトを作る時に、本番サイトからディレクトリごと丸々コピーしたが、Windowsパソコンにファイルをftpでダウンロードした後、Windowsパソコンからftpでアップロードしていた。その時にパーミッションが落ちたようだ。レンタルサーバー(heteml)のデフォルト設定は604だが、Webの公開やPHPスクリプトの実行において、通常は問題は起こらない(スクリプトはユーザ権限で実行される)。hetemlを使う限り、ftpでパーミッション変更しなくても問題は生じにくくなっていたので、油断していた。

シェルスクリプトに実行属性を与えて、cronは正常に処理ができるようになった。次回、同様の作業がある時は、cronが動いていることもチェックリストに入れておこうと思う。そういえば、hetemlはsshが使えるようになったので、シェル操作でコピーした方がいいかもしれないな。