![cronで定期的に処理を行う方法~分単位から年月日まで指定できる便利ツールです~](https://nakayama-tech.com/wp-content/uploads/2024/03/blog-20240217-thumb10.jpg)
Excel使い方最新記事
ミドルウェア最新記事
ソシャゲ攻略最新記事
公営競技最新記事
グルメ最新記事
中山テック 代表の中山です。
さて、サーバ上で定期的に処理を行いたい場合はどうすれば良いのでしょうか。
まさか時間が来たら手で処理を行う、と言うわけにもいかないでしょう。
その時は「cron」が非常に役に立ちますので是非使い方をご覧頂ければと思います。
- VMware × CentOS関連索引
- VMWare Workstation Player×CentOSで自PCに仮想環境を構築する
- VMWare × CentOSの環境にSSH通信する
- CentOSにPostgreSQL(15)をインストールする
- pgpoolでPostgreSQLをレプリケーション&フェイルオーバー
- VMWareを立ち上げたら別のプロセス使用中エラーが出た
- NginxにDigest認証を組み込む方法
- NginxをKeepAliveで冗長化&Tomcatへロードバランス
- 構築後、主系をダウンさせての動作確認
- PostgreSQLバックアップ&リストア
- 時間が来たら実行する「cron」の使い方を解説
- PostgreSQL同士でレプリケーションセット
- ZABBIX構築してローカルからリモートアクセス
#!/bin/bash
echo -e "`date` はろーわーるど" >> /home/postgres/crontest.log
HelloWorld並みの簡単な処理です。上記は「crontest.sh」というシェルとなります。
定期的に「crontest.log」ファイルに「はろーわーるど」という文字を積み重ねていくだけ。
例えばこれを1分おきに出したい!という場合の処理を行うとしたらどう定義すればよいのでしょうか。
crontabで追加
ユーザを指定して実行
crontab -e -u postgres
*/1 * * * * /etc/cron.d/crontest.sh > /dev/null 2>&1
◆左から、分 時 日 月 曜日
00 10 * * * なら毎日10時10分
00 10 1 * * なら毎月1日、10時10分
と言った形で指定する
:wq
で保存
まず、crontab -eを指定するとファイルが開かれます。
-uでユーザを選択することも可能です。
上記の場合は、postgresユーザが1分おきに前項のシェルを実行する、と言ったプログラムです。
実行結果
tail -f crontest.log
2024年 3月 1日 金曜日 01:12:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:13:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:14:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:15:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:16:02 JST はろーわーるど
2024年 3月 1日 金曜日 01:17:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:18:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:19:01 JST はろーわーるど
2024年 3月 1日 金曜日 01:20:01 JST はろーわーるど
これにてcron登録が完了しました!
ご覧の通り1分おきにログが吐き出されています。
今回は1分おきにシェル実行し、ログに吐き出しているだけですが例えば1時間おきにログローテートしたいとか。
はたまた前回のブログでお話したデータベースのバックアップを取得するとか。
やり方さえわかれば後は命令するだけなので非常に簡単な機能となっております。
まとめ
非常に便利な機能「cron」。
これがあることで定期的に古いログファイルを削除するなりバックアップを取ったり。
使い方は無限大です。
操作も難しくないので是非活用してみてください!
※記載次第ではrmをルートディレクトリでやってしまった!という方もいらっしゃいますので、取り扱いは慎重に・・・
- VMware × CentOS関連索引
- VMWare Workstation Player×CentOSで自PCに仮想環境を構築する
- VMWare × CentOSの環境にSSH通信する
- CentOSにPostgreSQL(15)をインストールする
- pgpoolでPostgreSQLをレプリケーション&フェイルオーバー
- VMWareを立ち上げたら別のプロセス使用中エラーが出た
- NginxにDigest認証を組み込む方法
- NginxをKeepAliveで冗長化&Tomcatへロードバランス
- 構築後、主系をダウンさせての動作確認
- PostgreSQLバックアップ&リストア
- 時間が来たら実行する「cron」の使い方を解説
- PostgreSQL同士でレプリケーションセット
- ZABBIX構築してローカルからリモートアクセス
ミドルウェア人気記事
Excel人気記事
この記事を書いた人
個人事業のシステムエンジニアです
前職はゴリゴリの営業マン(保険売りまくってた)
大抵のプログラミングはこなせます
環境構築もそれなりに出来るかと思います
趣味はゲーム、競馬、食べ歩き、旅行など
備忘と記録を残すためにブログを執筆しております
お仕事のお話は問い合わせフォームからお気軽にお声掛けください♪
前職はゴリゴリの営業マン(保険売りまくってた)
大抵のプログラミングはこなせます
環境構築もそれなりに出来るかと思います
趣味はゲーム、競馬、食べ歩き、旅行など
備忘と記録を残すためにブログを執筆しております
お仕事のお話は問い合わせフォームからお気軽にお声掛けください♪
最近書いた記事