linux-用crond定时执行python脚本

安装

yum install vixie-cron crontabs

查看服务状态

service crond status

开启

service crond start

加入开机服务中

chkconfig –level 35 crond on

查看crontab服务列表

(base) [root@localhost ~]# crontab -l
no crontab for root

说明现在没有定时任务。

编辑服务列表

crontab -e
这样会打开一个vim界面,编辑即可

08 14 * * * /home/software/anaconda3/bin/python3 /mnt/share/test.py

这个test.py我只写了一个打印“谢谢”到test.txt文件的函数,没有引用任何额外包。这是可以正常执行的。前面表示每天14:08分执行这个任务。

时间设定说明

(base) [root@localhost share]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

报错处理

python脚本不执行

我遇到的情况是,我用的是anaconda的一个环境,那么我要引入该环境的解释器,然后在我指定的路径下执行脚本。这样才会在指定时刻执行任务。

0 23 * * * export PATH=/这是python路径/bin/:$PATH;cd /脚本所在路径;python3 脚本名.py

修改通知邮件的收件人

crontab -e
添加
MAILTO=""

不要发送通知邮件

crond会将每次的输出信息(正常输出和报错)发给默认的收件人。在shell输入mail,可以看到类似这种
在这里插入图片描述
所以不想发的话可以修改任务:

crontab -e

0 23 * * * 命令 >/dev/null 2>&1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值