- CentOS7からサービスの管理ががらりと変わった。
timer†
crondの後継
https://rcmdnk.com/blog/2020/10/12/computer-raspberrypi-linux/
serviceファイルとtimerファイルを作成する
- /etc/systemd/system/myjob.service
[Unit]
Description = My Job
[Service]
Type = oneshot
ExecStart = /path/to/myjob
[Install]
WantedBy = multi-user.target
- /etc/systemd/system/myjob.timer
[Unit]
Description = My Job Timer
[Timer]
OnCalendar =Sun *-*-* 15:06:00
AccuracySec = 1s
[Install]
WantedBy = timers.target
sudo systemctl daemon-reload
sudo systemctl enable myjob.timer
sudo systemctl start myjob.timer
systemctlコマンド†
NW関連†
一覧表示 | nmcli d | |
dns 追加 | nmcli connection modify eno16780032 ipv4.dns 192.168.11.1 | |
NW再起動 | systemctl restart NetworkManager | |
主要サービスの再起動†
SSHD | systemctl restart sshd.service |
httpd | systemctl restart httpd.service |
postgres | systemctl start postgresql.service |
サービスの確認†
サービスの有効化†
有効 | systemctl enable sshd.service |
無効 | systemctl disable sshd.service |
稼働中サービスの一覧†
systemctl list-units --type=service
自動起動の有無†
systemctl list-unit-files --type=service
firewall†
firewall-cmd --permanent --add-port=任意のポート/tcp
設定の確認†
firewall-cmd --list-all
サービスの追加†
docker-composeをサービス化†
[Unit]
Description=%i managed by docker-compose
Requires=docker.service
After=docker.service
[Service]
Type=simple
Environment=COMPOSE_FILE=/root/infra/docker/%i/docker-compose.yml
ExecStartPre=-/usr/bin/docker-compose -f ${COMPOSE_FILE} down --volumes
ExecStart=/usr/bin/docker-compose -f ${COMPOSE_FILE} up
ExecStop=/usr/bin/docker-compose -f ${COMPOSE_FILE} down --volumes
[Install]
WantedBy=multi-user.target
sudo systemctl enable --now docker-compose-service@mariadb