systemd の timer を作成する
たまにしかやらないから忘れるシリーズ。
.service の作成
まず timer で起動される .service ファイルを /etc/systemd/system 下に作る。
[Unit] Description=Rotate logs [Service] Type=oneshot ExecStart=/usr/bin/logrotate /etc/logrotate.conf
.timer の作成
同じく /etc/systemd/system 下に .timer ファイルを作成する。
[Unit] Description=Daily logrotate schedule [Timer] OnCalendar=*-*-* 03:00:00 Unit=logrotate.service [Install] WantedBy=timers.target
有効化と起動
# systemctl enable logrotate.timer # systemctl start logrotate.timer
確認は systemctl list-timers
で。
# systemctl list-timers NEXT LEFT LAST PASSED UNIT ACTIVATES Sat 2017-05-13 03:00:00 JST 4h 9min left Fri 2017-05-12 03:00:30 JST 19h ago logrotate.timer logrotate.service
start
していない timer も全てリストするなら --all
を付ける。
# systemctl list-timers --all NEXT LEFT LAST PASSED UNIT ACTIVATES Sat 2017-05-13 03:00:00 JST 4h 9min left Fri 2017-05-12 03:00:30 JST 19h ago logrotate.timer logrotate.service