#どんなことをやりたいのさー?
1日1回とか30分に1回とか定期的にファイルをバックアップしたいさー。
でもCentOSでそんなもん作ったことないから、まず手始めにひたすら繰り返すだけのやつを作ってみるさー。
定期実行 を覚えればバックアップだけじゃなくて、死活監視とか更新通知とか…できることの幅が広がると思うんさー。
#どんな方法で定期実行?
systemd を自作します。
そして『いきなり本番!』じゃなくてDocker上のCentOS8で確認します。
ただし、Dockerのコンテナを作る時に一工夫しています。詳細は下記。
Docker上のCentOSだと自作systemdが動かない時の対応方法
#テキストファイルとそいつに書き込むシェルスクリプトを作成
まずテキストファイル新規作成。
touch /syami.txt
続いてシェルスクリプト新規作成。
touch /momo.sh
シェルスクリプトの中身はこう!
(テキストファイルに追記するだけの単純なやつ)
#!/usr/bin/bash
echo `date` syamikogawaruinndayo >> /syami.txt
シェルスクリプトに実行権限与えてあげる。
chmod 755 /momo.sh
#serviceを新規作成するさー
『/etc/systemd/system/』に下記ファイル新規作成。
(作ったシェルスクリプトをキックするやつ)
[Unit]
Description=mazokusabisu
[Service]
Type=simple
ExecStart=/momo.sh
[Install]
WantedBy=multi-user.target
#timerを新規作成するさー
『/etc/systemd/system/』に下記ファイル新規作成。
(作ったシェルスクリプトをキックするやつを定期実行するやつ)
[Unit]
Description=mazokutimer
[Timer]
Unit=momo.service
OnUnitActiveSec=1m
[Install]
WantedBy=multi-user.target
#定期実行開始するさー
systemctl enable momo.service
systemctl enable momo.timer
systemctl start momo.timer
しばらく放置して/syami.txtを開いてみると…
うん、いい感じです。
#蛇足
『毎日〇時に』とか『〇曜日の〇時に』って指定方法が実用的かなーって思います。
#参考サイトさん
https://qiita.com/narikei/items/ca4823c7f6790f0cbe0b
https://qiita.com/mogya/items/aaee50d41012d202f53c
#次の記事
CentOSで日付・曜日・時間を指定して定期実行したいんだよなあ
#バージョン
Windows10 Pro バージョン1909 OSビルド19042.630
Docker Desktop:2.5.0.1(49550) Engine:19.03.13 Compose:1.27.4
CentOS Linux release 8.2.2004 (Core)