linux中通过systemctl建立服务并实现开机启动
centos7下,systemctl可以理解为systemd的一个工具
建立Unit file配置文件
systemctl是通过Unit管理单元的形式来添加service的,建立Unit file配置文件即可
在/usr/lib/systemd/system 目录下建立xxx.service这种后缀的服务文件
[Unit]
Description=xxx.server
After=network.target
[Service]
ExecStart=/usr/bin/python -u /mnt/e/test.py
#WorkingDirectory=/mnt/e
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
[Install]
WantedBy=multi-user.target
加载配置
添加完unit file文件后重新加载配置文件,获取更改的配置并重新生成依赖树。
systemctl daemon-reload
启动服务
systemctl start xxx.service
停止服务
systemctl stop xxx.service
设置服务开机启动
systemctl enable xxx.service
关闭服务开机启动
systemctl disable xxx.service
更多命令
systemctl list-units --type=service #查看当前的服务列表状态
systemctl list-unit-files --type=service #查看当前可用的服务单元
systemctl list-unit-files --type=service | grep xxx.service #查看具体的某个服务单元
systemctl start xxx.service #启动一个服务
systemctl stop xxx.service #关闭一个服务
systemctl restart xxx.service #重启一个服务
systemctl status xxx.service #显示一个服务的状态
systemctl enable xxx.service #在开机时启用一个服务
systemctl disable xxx.service #在开机时禁用一个服务
systemctl is-enabled xxx.service #查看服务是否开机启动
systemctl show xxx.service #查看服务的所有信息
systemctl mask|unmask firewalld: #注销,取消注销服务 服务被注销后该服务就无法通过systemctl进行启停管理
查看服务产生的日志
journalctl -xe -u xxx.service
# 查看日志已占用的空间
journalctl --disk-usage
# –vacuum-size=1G #设置日志最大占用空间
# –vacuum-time=1years #设置日志最大保存时间