一、准备工作
1.脚本路径及内容
路径:
/root/workdir/mydate/python3_date.py
内容:
import datetime
import time
import sys
while True:
print(datetime.datetime.now()) #打印当前时间
sys.stdout.flush() # 强制刷新并输出
time.sleep(3) # 日志每三秒输出一次
二、创建开机启动服务
服务名称:
python3_date.service
服务路径:
/usr/lib/systemd/system/python3_date.service
服务内容:
[Unit]
Description=python3_date_py
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/python3 /root/workdir/mydate/python3_date.py
StandardOutput=append:/root/workdir/mydate/out.log
StandardError=append:/root/workdir/mydate/out.log
Restart=on-failure
[Install]
WantedBy=muti-user.target
其中:·StandardOutput·和·StandardError·这两个字段定义了日志输出路径,如果不需要自定义日志可以忽略掉。
三、应用服务并加入开机自启
1.应用服务:
systemctl daemon-reload
2.开机自启
systemctl enable --now python3_date.service
四、查看日志
1.使用journalctl查看日志
root@VM-28-17-ubuntu:~/workdir/mydate# journalctl -u python3_date -n 10
-- Logs begin at Sat 2024-05-25 20:56:01 CST, end at Mon 2024-09-02 15:55:25 CST. --
Sep 02 14:53:44 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:44.001077
Sep 02 14:53:47 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:47.003492
Sep 02 14:53:50 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:50.004846
Sep 02 14:53:53 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:53.007488
Sep 02 14:53:56 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:56.010598
Sep 02 14:53:59 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:59.013693
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: Stopping python3_date_py...
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: python3_date.service: Succeeded.
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: Stopped python3_date_py.
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: Started python3_date_py.
2.直接查看日志文件
root@VM-28-17-ubuntu:~/workdir/mydate# tail -f out.log
2024-09-02 15:55:22.816322
2024-09-02 15:55:25.819419
2024-09-02 15:55:28.821209
2024-09-02 15:55:31.821980
2024-09-02 15:55:34.823507
2024-09-02 15:55:37.824413
2024-09-02 15:55:40.827503
2024-09-02 15:55:43.830591
2024-09-02 15:55:46.833136
2024-09-02 15:55:49.835213
五、服务关闭
服务停止很简单,首先关闭服务。
root@VM-28-17-ubuntu:~/workdir/mydate# systemctl disable --now python3_date
Removed /etc/systemd/system/muti-user.target.wants/python3_date.service.
root@VM-28-17-ubuntu:~/workdir/mydate# systemctl status python3_date
● python3_date.service - python3_date_py
Loaded: loaded (/lib/systemd/system/python3_date.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Sep 02 14:53:53 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:53.007488
Sep 02 14:53:56 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:56.010598
Sep 02 14:53:59 VM-28-17-ubuntu python3[4154914]: 2024-09-02 14:53:59.013693
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: Stopping python3_date_py...
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: python3_date.service: Succeeded.
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: Stopped python3_date_py.
Sep 02 14:53:59 VM-28-17-ubuntu systemd[1]: Started python3_date_py.
Sep 02 16:01:13 VM-28-17-ubuntu systemd[1]: Stopping python3_date_py...
Sep 02 16:01:13 VM-28-17-ubuntu systemd[1]: python3_date.service: Succeeded.
Sep 02 16:01:13 VM-28-17-ubuntu systemd[1]: Stopped python3_date_py.
然后删除创建的服务
root@VM-28-17-ubuntu:~/workdir/mydate# rm /usr/lib/systemd/system/python3_date.service
评论区