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 的脚本,可以通过以下方法之一:

  1. 使用键盘快捷键(Ctrl+C):

    • 如果你在终端中运行该脚本,可以使用键盘快捷键 Ctrl+C 来中断脚本的执行。
  2. 查找并终止进程:

    • 使用

      ps
      

      命令查找脚本的进程ID(PID):

      ps aux | grep resource_chat_push_server.py
      
    • 使用

      kill
      

      命令停止该进程:

      kill -9 PID
      
  3. 脚本内部机制:

    • 如果脚本本身具有停止或退出的机制,可以在脚本中添加相应的逻辑,以便在某个条件下主动终止执行。

根据需求和脚本的运行环境,选择适当的方法。

其它补充:20240228

  1. 如果cron 不启动的解决方案:
    重启一下 cron 服务
    systemctl status cron
    systemctl restart cron
    https://cronitor.io/guides/missing-newline-before-eof

其它运行链接

https://www.cnblogs.com/code3/p/18031839

posted @ 2024-01-21 18:41  __username  阅读(255)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。