systemd 的基本使用
· 阅读需 2 分钟
服务控制
- 启动服务(可简写)
sudo systemctl start apache2.service
sudo systemctl start apache2
- 停止服务
sudo systemctl stop apache2.service
- 重新启动服务
sudo systemctl restart apache2.service
- 查看服务状态
systemctl status apache2.service
服务开机自启设置
- 启用服务开机自启
sudo systemctl enable apache2.service
- 禁用服务开机自启
sudo systemctl disable apache2.service
系统状态查看
- 查看服务的网络连接
ss -tnlp | grep apache2
- 查看所有日志
journalctl -u apache2.service
- 查看最新日志
journalctl -u apache2.service -e
- 列出所有运行的服务
systemctl list-units --type=service
- 查看系统日志
journalctl
定时器和计划任务
- 创建一个文件 /etc/systemd/system/backup.service 来定义要执行的任务:
plaintextCopy code[Unit]
Description=Daily Backup
[Service]
ExecStart=/usr/local/bin/backup.sh
- 创建一个文件 /etc/systemd/system/backup.timer 来定义定时器:
plaintextCopy code[Unit]
Description=Runs backup every day at 2am
[Timer]
OnCalendar=*-*-* 020000
Unit=backup.service
[Install]
WantedBy=timers.target
- 启动并启用定时器:
sudo systemctl start backup.timer
sudo systemctl enable backup.timer
创建和管理自定义服务
- 以下是一个简单的自定义服务单元文件的例子,该文件应保存为 /etc/systemd/system/custom.service
plaintextCopy code[Unit]
Description=Custom Service
[Service]
ExecStart=/usr/local/bin/custom.sh
Restart=always
[Install]
WantedBy=multi-user.target
- 在创建了单元文件后,可以通过以下命令启动、停止或重新启动服务:
sudo systemctl start custom.service
sudo systemctl stop custom.service
sudo systemctl restart custom.service