FiFiWiki2

FiFiWikiの第2版

ユーザ用ツール

サイト用ツール


raspberry_pi:cron

Cronの基本

(方法1) cron.dに「cronの設定ファイル」を追加

  • ファイル名に“.”を付けてはいけない。(例)yourscript.cronはだめ。
  • 実行権限は644
  • ユーザ権限はroot
/etc/cron.d/datetimecron
-rw-r--r-- 1 root root 48 Oct 21 14:59 datetimecron

インストール

sudo cp alivecron /etc/cron.d/
sudo chmod 644 /etc/cron.d/alivecron
sudo /etc/init.d/cron restart

アンインストール

sudo rm /etc/cron.d/alivecron
sudo /etc/init.d/cron restart

(例)

## cron設定ファイルを書く (この時sudoをつける必要がある)
sudo vi alivecron

(以下,エディタ)
---------------
# 分 時 日 月 曜日 実行ユーザー コマンド
#   ユーザがrootの場合だと${HOME}が存在せずにエラーとなる
#   ディレクトリがない場合もエラーとなる
* * * * * fi date > ${HOME}/alive.log     # 日付時刻をHOME直下のログファイルに書き込む
---------------
(エディタ終了)

(別の方法) sudo echo "* * * * * fi date > ${HOME}/alive.log" > $HOME/alivecron

# cron.dにコピー (この時sudoをつける必要がある)
sudo cp alivecron /etc/cron.d/

# cron.dを再起動
sudo /etc/init.d/cron restart

注意

crontab内では${HOME}以外の変数は使わない/使えない.

(方法2) crontabを編集して設定 [非推奨]

(非推奨)毎回エディタで編集することになりスケールしない

sudo crontab -l # 一覧表示

sudo crontab -e # 編集

> # 毎日朝5時に実行
> 分 時 日 月 曜日 コマンド
> 0 5 * * * sudo rpi-clone sda -q

sudo /etc/init.d/cron restart # 再起動

cronのユーザ管理

実行ユーザにより登録されるcrontabは分かれる

crontab -e
crontab -l
crontab -r
crontab ~/your_crontab.txt
sudo crontab -e
sudo crontab -l
sudo crontab -r
sudo crontab ~/your_crontab.txt

cronのログ

http://make.bcde.jp/raspberry-pi/%E6%B1%BA%E3%81%BE%E3%81%A3%E3%81%9F%E6%99%82%E9%96%93%E3%81%AB%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B/

rsyslog.confを編集します。

$ sudo vi /etc/rsyslog.conf
以下の行をコメントアウトするだけで、/var/log/cron.logにログファイルが作成されます。

#cron.* /var/log/cron.log
次にログを記録するサービスの再起動します。

/etc/init.d/rsyslog restart
再起動が完了するとcronのログは、/var/log/cron.logにとられるようになります。

スクリプトで編集

sudo sh -c "echo 'cron.* /var/log/cron.log' >> /etc/rsyslog.conf"
raspberry_pi/cron.txt · 最終更新: 2017/11/17 03:28 by fifi