Archive for the ‘cron’ Category

CentOS で cron を設定する方法

cron は定期的に処理をさせる際に大変便利です。
以下の記事を参考に勉強させて頂きました。

cron の設定ガイド
CentOSでのcronの使い方。 – 今日も元気にlinux – mylinuxグループ

まず cron が動いているかを確かめる。

1
2
$ /etc/rc.d/init.d/crond status
crond (pid xxx) を実行中...

もし動いてなければ以下のようにして起動します。

1
2
$ /etc/rc.d/init.d/crond start
crondを起動中:

cron を設定します。

1
crontab -e

既定のエディタが起動するので以下のように設定する。
今回の例は PHP を実行します。

00 0 * * * php /path/to/hoge.php

ここで設定したものは /var/spool/cron 以下に作られますが、編集する際は crontab -e で同じようにエディタで開いて編集ができますので、そちらが一般的です。

また、cron の実行ログについては /var/log/cron に書かれていくので、本当に動いているのかを確認するにはこちらを確認しましょう。

XSERVER で cron で PHP を実行する際に PHP5 として実行させる方法

PHP5 じゃないと動作しないものに simplexml_load_file などが挙げられると思います。XSERVER は基本的に PHP4 であり、PHP5 に切り替えることはできますが、PHP5 にするには .htaccess などの設定が必要ですね。

でも、cron は別なんですね。cron で PHP を動作させる場合、.htaccess に PHP5 にする設定をしてようが、PHP4 として実行されます。

cron で PHP を実行する場合に、PHP5 として実行したい場合は以下のようにします。

1
/usr/bin/php5 /(該当のPHPのパス)

例えばですが、/home/user/example.com/public_html/cron.php という PHP を PHP5 として実行するには以下のようにします。

1
/usr/bin/php5 /home/user/example.com/public_html/cron.php

XSERVER に CRON について問い合わせたら2週間放置されている件について

XSERVER を利用しはじめて、CRON を使おうと思ったのですが使えませんでした。私の設定が間違ってると思ってたんですが、一応以下のように運営に問い合わせてみました。しかし、それから2週間くらい問題が解決されません。さすがにサーバー構築したこととか設定したことないので、詳しいことはわかんないんですが、こういうのって普通なんでしょうか…。

私からのメール(2009/7/2)

Cron結果の通知アドレスに「hoge@example.com」と入れてもエラーになります。どのようなメールアドレスでないといけないのですか?

Cronで /home/hoge/example.net/cron/example.sh にあるファイルを一時間に一度動かしたいと思っていますが、動きません。Cronの設定に何か問題はありますか?あるいは、example.sh に何か問題がありますか?以前XREAとかCORESERVERでは問題なく同じような設定で使えていました。

XSERVER のメール(2009/7/4)

平素は当サービスをご利用いただき誠にありがとうございます。
エックスサーバーカスタマーサポート担当 高宮 でございます。

お問い合わせいただいた件につきまして、回答させていただきます。

本内容につきましては、調査を行わせていただき、
別途担当者よりご連絡させていただきます。
ご不便をおかけしますが、今しばらくお待ちくださいませ。

何卒よろしくお願い申し上げます。

私からのメール(2009/7/13)

貴社のサーバーを利用させていただいております空井と申します。
お世話になっております。

先日 Cron について問い合わたところ、
調査を行った後、別途担当者よりご連絡をいただけるとのことですが、
一週間ほど経っても何も返事がありませんが、どのようになっているのですか?

こちらでサーバー上のファイルは特に変更しておりません、
もしまだ何も調査を行っていないのであれば、今からでも調査をして
いただけないでしょうか?

よろしくお願い致します。

XSERVER のメール(2009/7/14)

平素は当サービスをご利用いただき誠にありがとうございます。
エックスサーバーカスタマーサポート担当 片山 でございます。

お問い合わせいただいた件につきまして、回答させていただきます。

ご不便をおかけして申し訳ございません。
ご迷惑をおかけしておりますことお詫び申し上げます。

お問い合わせいただいておりましたCron設定については
現在も調査を行なっております。

「-(ハイフン)」を含むメールアドレスがエラーとなり
追加いただけないようでございます。

※一時的な対処といたしまして、ハイフンを含まないメールアドレスにて
追加を行なっていただけますでしょうか。

本件に関しましては、おって担当者より連絡させていただきますので、
何卒よろしくお願い申し上げます。

あの…それから4日経ってるんですよ…。サーバー移転したいんだけど、せっかく契約したので、できればここでやっていきたいです。どうしたら良いのかわからなくて辛いです。

追記(2009/7/23): 自己解決しました。

いろいろ設定をしていたら解決しました。特に XSERVER の利用者ってそんなに多くないみたい?なので、設定方法とかは公開するの面倒なのでしないです。
解決したことに関しては XSERVER に連絡していません。わざとこれからも待ってみます。どれくらいの間待たされるのか皆さん期待してください。私はいつまでも待ってます!

MySQL のバックアップを cron で定期的に自動で行う

さてさて、4月からは自宅PCを触ることはできなくなりそうなので、メインサイトの更新作業などを自動化していますが、最も大切なバックアップを忘れていたので、今日設定してみました。

Automatic MySQL Backup

いろいろと方法はありましたが、まずは Automatic MySQL Backup を試してみます。
といっても、使い始めるまでは簡単です。automysqlbackup.sh に USERNAME、PASSWORD、DBNAMES を設定して、chmod u+rwx(755) して後は cron から定期的に実行させるだけ。

以下のサイトも、Automatic MySQL Backup について紹介、解説されています。
MySQLを自動バックアップする「AutoMySQLBackup」 – GIGAZINE
アイビースター » MySQLの全DBを自動バックアップする

さくらインターネットで自動バックアップを取る方法

XREA や CORESERVER では問題なく動いていましたが、さくらインターネットでは動かないようです。仕方無いので以下のページで紹介されている方法でバックアップを取ることにしました。
Web2.0ナビ: さくらインターネットでmysqlの自動バックアップ

でも、この方法でとったバックアップだと違うバージョンの MySQL にインポートすることができなかった。

XREA で cron ジョブを設定してシェルスクリプトを書いて PHP を起動させてメールを送信

cron とかシェルスクリプトとかよく分からなくて、ちゃんと設定してもなかなか文字化けでうまく動作せず、10日間くらい悪戦苦闘しながら100を超える Web ページを読みあさり、それを参考に次のような設定にしたところ解決できたのでメモしておきます。これから同じことをしようとする人の参考になれば幸いです。 (続きを読む…)