systemd
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
systemd [2020/01/04 03:10] – nullpon | systemd [2023/03/16 18:01] (現在) – nullpon | ||
---|---|---|---|
行 9: | 行 9: | ||
$ systemctl list-unit-files --type service | $ systemctl list-unit-files --type service | ||
+ | | ||
+ | 有効なサービスの一覧を見る | ||
+ | |||
+ | $ systemctl list-unit --type service | ||
| | ||
サービスの状態を確認 | サービスの状態を確認 | ||
行 18: | 行 22: | ||
$ systemctl start nginx.service | $ systemctl start nginx.service | ||
$ systemctl stop nginx.service | $ systemctl stop nginx.service | ||
+ | |||
+ | 自動起動を有効化する(普通は有効化されているが何らかの原因でdisabledになってしまった場合の修正) | ||
+ | |||
+ | $ systemctl enable nginx.service | ||
| | ||
一部のサービスにはreload(再起動せずconfigファイルの読み直し)もある。いい感じのbashでは補完機能でreload可能なサービスのみリストアップされる、ただし少し重い。 | 一部のサービスにはreload(再起動せずconfigファイルの読み直し)もある。いい感じのbashでは補完機能でreload可能なサービスのみリストアップされる、ただし少し重い。 | ||
行 24: | 行 32: | ||
| | ||
| | ||
+ | ## systemd-resolved | ||
+ | |||
+ | systemdで提供されるDNSクライアント。詳細は以下のコマンドで確認できる | ||
+ | |||
+ | $ systemd-resolve --status | ||
+ | |||
+ | systemd-resolvedは名前解決用のサーバを立ち上げている。/ | ||
+ | |||
+ | ``` | ||
+ | nameserver 127.0.0.53 | ||
+ | options edns0 trust-ad | ||
+ | search localdomain | ||
+ | ``` | ||
+ | |||
+ | のようになっている。systemdで管理されているLinuxサーバ上で各アプリケーションは127.0.0.53をネームサーバとして利用できる。 | ||
+ | |||
+ | 実際に使用される外部ネームサーバは`/ | ||
+ | |||
## systemd-timesyncd | ## systemd-timesyncd | ||
行 33: | 行 59: | ||
$ sudo timedatectl set-timezone Asia/Tokyo | $ sudo timedatectl set-timezone Asia/Tokyo | ||
+ | | ||
+ | 現在のTimeZone設定もtimedatectlで確認できる | ||
+ | |||
+ | ``` | ||
+ | $ timedatectl | ||
+ | Local time: 土 2023-01-28 01:44:40 JST | ||
+ | | ||
+ | RTC time: 金 2023-01-27 16:44:40 | ||
+ | Time zone: Asia/Tokyo (JST, +0900) | ||
+ | System clock synchronized: | ||
+ | NTP service: active | ||
+ | RTC in local TZ: no | ||
+ | ``` | ||
NTPサーバの指定などは以下のファイルにある | NTPサーバの指定などは以下のファイルにある | ||
行 41: | 行 80: | ||
$ sudo systemctl restart systemd-timesyncd | $ sudo systemctl restart systemd-timesyncd | ||
+ | | ||
+ | ## timer | ||
+ | |||
+ | 定期実行ジョブを作成できる。cronのようなもの | ||
+ | |||
+ | 設定されているタイマーを確認 | ||
+ | |||
+ | ``` | ||
+ | systemctl list-timers | ||
+ | ``` | ||
+ | |||
+ | ### timerを自作する | ||
+ | |||
+ | 例)mysqlバックアップジョブを作る | ||
+ | |||
+ | / | ||
+ | |||
+ | ``` | ||
+ | [Unit] | ||
+ | Description=backup mysql | ||
+ | Wants=mysql.service | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart=/ | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | ``` | ||
+ | |||
+ | これを有効にする | ||
+ | |||
+ | ``` | ||
+ | sudo systemctl enable backup-mysql.service | ||
+ | ``` | ||
+ | |||
+ | / | ||
+ | |||
+ | ``` | ||
+ | [Unit] | ||
+ | Description=backup mysql timer | ||
+ | |||
+ | [Timer] | ||
+ | OnCalendar=*-*-* 03:00:00 | ||
+ | Persistent=true | ||
+ | Unit=backup-mysql.service | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | ``` | ||
+ | |||
+ | これを有効にして、タイマーを開始する | ||
+ | |||
+ | ``` | ||
+ | sudo systemctl enable backup-mysql.timer | ||
+ | sudo systemctl start backup-mysql.timer | ||
+ | ``` | ||
+ | |||
+ | バックアップスクリプトはいい感じに作る | ||
+ | |||
</ | </ | ||
+ | |||
+ | <file bash / | ||
+ | #!/bin/bash -e | ||
+ | |||
+ | cd / | ||
+ | |||
+ | mysqldump --defaults-extra-file=/ | ||
+ | |||
+ | gzip mysql_hoge_buckup.sql | ||
+ | |||
+ | mv mysql_hoge_buckup.sql.gz " | ||
+ | |||
+ | find . -name " | ||
+ | </ | ||
+ | |||
+ | 単にバックアップ目的なら cron.daily に上記のスクリプトを設置する方が楽 | ||
+ |
systemd.1578107425.txt.gz · 最終更新: 2020/01/04 03:10 by nullpon