さくらインターネットレンタルサーバで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 分に実行する 15 0-12 * * *
毎月 1 日の 0 時 0 分に実行する 0 0 1 * *
毎月 1 日または毎週金曜日の 23 時 59 分に実行する 59 23 1 * 5

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

スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク

コメントを残す