自己创建一个everyday.cron文件,里面写上自己要执行的任务,然后执行crontab everyday.cron即可。everyday.cron文件中我写的是
0 23 * * * /home/probe/anaconda3/envs/jsipv6/bin/python /home/probe/liang/writeEveryday.py >>/home/probe/liang/crontab.log 2>&1
该任务是每天的23时0分执行一个python脚本。这里踩了很多坑,一开始我找不到crontab的输出日志在哪,所以就不知道自己的脚本有没有执行。后来把正常输出和错误输出重定向到crontab.log文件中,才得到了输出结果,才知道自己的脚本报错了,所以没有执行成功,之前还以为是crontab的锅。
这里的脚本报错主要有两个,一个是python的编码格式不对:脚本中用了中文注释,但是没有指定编码方式为utf-8,指定方式为在源代码首行加入
# -*- coding: utf-8 -*-
一个是crontab使用了错误的python解释器(一开始我在everyday.cron中写的是0 23 * * * python.........,然后可能crontab就随便找了一个python解释器,不是我想要的那个,所以就把python解释器的路径写全了)。