19
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ラズベリーパイ4でcronを動かす

Last updated at Posted at 2020-06-07

ラズベリーパイ4にて定期実行させるタスクを登録させるためにcronを用いました。その時の調査内容をまとめます。 ※OSはRaspbianです。

cronのログを有効化

$ sudo vim /etc/rsyslog.conf
// 以下のコメントアウトを外す
cron.*                          /var/log/cron.log
$ sudo /etc/init.d/rsyslog restart

cronの起動、再起動、停止、ステータス確認

私の場合は最初からcronが起動している状態でしたが、状況に応じて実行してください。

// cronのステータス確認
$ sudo /etc/init.d/cron status
// active (running)になっていればOK
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-05-31 22:05:22 JST; 6 days ago
     Docs: man:cron(8)
 Main PID: 3315 (cron)
    Tasks: 71 (limit: 4915)
   Memory: 189.2M
...
// cronの起動
$ sudo /etc/init.d/cron start
// cronの再起動
$ sudo /etc/init.d/cron restart
// cronの停止
$ sudo /etc/init.d/cron stop

cronの設定

$ crontab -e
// 以下書式に従って設定を書く
分 時 日 月 曜日 '実行したいコマンドまたはスクリプト'

cronの設定時の注意点

cronはユーザーのシェルで起動しないため、ユーザーの環境変数は引き継がれません。そのため、必要に応じて以下を設定。

文字コードの設定

LANG=ja_JP.UTF-8
0 0 * * * /home/foo/foo1.sh

コマンド実行のためのPATHを通す

$ echo $PATH
/usr/local/sbin:/usr/local/bin:hogehoge...
$ crontab -e
LANG=ja_JP.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:hogehoge...
0 0 * * * /home/foo/foo1.sh

cronの実行結果をログに出力する

cron実行中のプログラムのログを出力させるための設定をします。

$ sudo touch /var/log/hoge.log
$ sudo chmod 777 /var/log/hoge.log
$ crontab -e
LANG=ja_JP.eucJP
PATH=/usr/local/sbin:/usr/local/bin:hogehoge...
0 0 * * * /home/foo/foo1.sh > /var/log/hoge.log 2>&1
// 上記は上書き。追記させたい場合は
0 0 * * * /home/foo/foo1.sh >> /var/log/hoge.log 2>&1

cronに複数コマンドを実行させる

cronに複数のコマンドを実行させるときはセミコロンで区切ります。

$ crontab -e
LANG=ja_JP.eucJP
PATH=/usr/local/sbin:/usr/local/bin:hogehoge...
0 0 * * * /home/foo/foo1.sh; /home/foo/foo2.sh > /var/log/hoge.log 2>&1

参考

19
17
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?