さくらインターネットレンタルサーバでcron設定をする

コントロールパネルからcron設定に入ってGUIで設定する

去年登録したcron設定はこれでいまも問題なく動いてるんだけど
/usr/local/bin/php /home/アカウント名/www/abc/cron.php

今回同様に追記したら動かなかった。
pythonの外部モジュールを利用するプログラムをcronで実行するときは、環境変数の値設定が必要ってのが要点。

で、これら実行したら動いた。
・cronの書き方変更
cd /home/アカウント名/www/abc ; /usr/local/bin/python cron.py
cd 動作させるファイルまでのパス ; プログラムまでのパス 動作させるファイル名

・動作させるファイルに実行権限与える 755 または 705
・外部モジュール読み込むファイルならそれらのパーミッションも変更
・コントロールパネル – cron設定画面下の環境変数 環境変数の値のところを追加
環境変数 PYTHONPATH
環境変数の値 /home/アカウント名/lib/python

さくらインターネットのよくある質問にこんなこと書いてあった
【動作しない例】 /usr/local/bin/php /home/アカウント名/プログラム名
【動作する例】 cd /home/アカウント名/www/programs ; /usr/local/bin/php プログラム名

「さくらのレンタルサーバ」や「さくらのマネージドサーバ」ではCGIプログラムやCRONの実行はユーザ権限にて行われます。

2.1. ファイル、ディレクトリの設定

CGIの拡張子.cgi
PHPの拡張子(※1).php
プログラムを設置するディレクトリ(フォルダ)ドキュメントルート(/home/アカウント名/www/)以下であれば不問
ファイルパーミッション755 または 705 のいずれか
ディレクトリパーミッション755 または 705 のいずれか
cgi-binディレクトリ不要
.htaccessの設定不要
推奨するファイルロック関数flock

※1?スタンダードプラン以上で利用できます。

2.2. プログラムのコマンドパス

perl/usr/bin/perl
ruby/usr/local/bin/ruby
php(※1)/usr/local/bin/php
Python/usr/local/bin/python
sh/bin/sh
csh/bin/csh
sendmail/usr/sbin/sendmail
gcc/usr/bin/gcc
gzip/usr/bin/gzip
zip/usr/local/bin/zip
unzip/usr/local/bin/unzip
convert/usr/local/bin/convert
nkf/usr/local/bin/nkf
uuencode/usr/bin/uuencode
uudecode/usr/bin/uudecode
procmail/usr/local/bin/procmail

※1?スタンダードプラン以上で利用できます。
引用元: さくらレンタルサーバ CGI・PHP・SSI について

ちなみに6件以上のcrom登録はGUIからはできないからCUIから。

cron内容の参照:
crontab -l

cronの編集
crontab -e

あとはviで記述。書き方は下記。

フィールド
指定できる値
0-59, *
時間0-23, *
0-12, *
0-12, *
曜日0-7, *

 

設定内容入力例
曜日
毎時 0 分に実行する0****
2 時間おきに実行する**/2***
0 時と12 時に実行する*0,12***
0 時から 12 時までの毎時 15 分に実行する150-12***
毎月 1 日の 0 時 0 分に実行する001**
毎月 1 日または毎週金曜日の 23 時 59 分に実行する59231*5

引用元: くらレンタルサーバでのcronの設定方法 .

コメント

タイトルとURLをコピーしました