0
0

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.

CentOSで定期(繰り返し)実行したいさー

Last updated at Posted at 2020-12-02

#どんなことをやりたいのさー?
1日1回とか30分に1回とか定期的にファイルをバックアップしたいさー。

でもCentOSでそんなもん作ったことないから、まず手始めにひたすら繰り返すだけのやつを作ってみるさー。

定期実行 を覚えればバックアップだけじゃなくて、死活監視とか更新通知とか…できることの幅が広がると思うんさー。

#どんな方法で定期実行?
systemd を自作します。

そして『いきなり本番!』じゃなくてDocker上のCentOS8で確認します。

ただし、Dockerのコンテナを作る時に一工夫しています。詳細は下記。
Docker上のCentOSだと自作systemdが動かない時の対応方法

#テキストファイルとそいつに書き込むシェルスクリプトを作成
まずテキストファイル新規作成。

コマンド
touch /syami.txt

続いてシェルスクリプト新規作成。

コマンド
touch /momo.sh

シェルスクリプトの中身はこう!
(テキストファイルに追記するだけの単純なやつ)

/momo.sh
#!/usr/bin/bash
echo `date` syamikogawaruinndayo >> /syami.txt

シェルスクリプトに実行権限与えてあげる。

コマンド
chmod 755 /momo.sh

#serviceを新規作成するさー
『/etc/systemd/system/』に下記ファイル新規作成。
(作ったシェルスクリプトをキックするやつ)

/etc/systemd/system/momo.service
[Unit]
Description=mazokusabisu

[Service]
Type=simple
ExecStart=/momo.sh

[Install]
WantedBy=multi-user.target

#timerを新規作成するさー
『/etc/systemd/system/』に下記ファイル新規作成。
(作ったシェルスクリプトをキックするやつを定期実行するやつ)

/etc/systemd/system/momo.timer
[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を開いてみると…
うん、いい感じです。
image.png

#蛇足
『毎日〇時に』とか『〇曜日の〇時に』って指定方法が実用的かなーって思います。

#参考サイトさん
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)

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?