ubuntu定时/监控运行python脚本【cron】
网上的教程千篇一律,但是我的不成功,于是自己写了个。
环境:ubuntu20
首先安装,参考其它教程【一般ubuntu都自带了】
然后:
vim /etc/crontab
回车看到:
最后输入: 32 * * * * root su - root -c "cd /root/chao_code/fg && /usr/bin/python3 ./resource_chat_push_server.py"
解决了,反正cd避免了工作目录的问题,su - 直接login上去,可以避免很多问题。。
对上面的解释
这是一个 cron 表达式,用于定时执行指定的命令。具体来说,这个 cron 表达式是:
32 * * * * root su - root -c "cd /root/chao_code/fg && /usr/bin/python3 ./resource_chat_push_server.py"
解释如下:
32
: 表示分钟,指定在每小时的第32分钟执行。* * * * *
: 五个星号分别代表了分钟、小时、日、月、星期几,这里都是通配符*
,表示每个可能的值。root
: 表示以 root 用户的身份执行命令。su - root -c
: 使用su
命令切换用户到 root,并在其环境中执行后面的命令。"cd /root/chao_code/fg && /usr/bin/python3 ./resource_chat_push_server.py"
: 这是实际要执行的命令。首先,切换到目录/root/chao_code/fg
,然后执行 Python 脚本/usr/bin/python3 ./resource_chat_push_server.py
。
因此,这个 cron 任务的目的是在每小时的第32分钟以 root 用户的身份执行指定目录下的 Python 脚本。
查看 crontab的最新日志:tail -n 20 /var/log/syslog
eg:tail -n 10000 /var/log/syslog | grep "resource_chat_push_server"
效果:
其它参考连接
https://www.cnblogs.com/dplearning/p/6633329.html
https://coding.f10.org/VPS相关/在ubuntu下使用crontab 定时执行python任务/
https://blog.csdn.net/working_hewei/article/details/110082458
杀死脚本进程
要暂停运行名为 resource_chat_push_server.py
的脚本,可以通过以下方法之一:
-
使用键盘快捷键(Ctrl+C):
- 如果你在终端中运行该脚本,可以使用键盘快捷键
Ctrl+C
来中断脚本的执行。
- 如果你在终端中运行该脚本,可以使用键盘快捷键
-
查找并终止进程:
-
使用
ps
命令查找脚本的进程ID(PID):
ps aux | grep resource_chat_push_server.py
-
使用
kill
命令停止该进程:
kill -9 PID
-
-
脚本内部机制:
- 如果脚本本身具有停止或退出的机制,可以在脚本中添加相应的逻辑,以便在某个条件下主动终止执行。
根据需求和脚本的运行环境,选择适当的方法。
其它补充:20240228
- 如果cron 不启动的解决方案:
重启一下 cron 服务
systemctl status cron
systemctl restart cron
https://cronitor.io/guides/missing-newline-before-eof
其它运行链接
本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/17978151