crontab不能直接定时python脚本,所以必须把python脚本写入shell脚本中。
1.编写shell脚本
vim test.sh
#!/bin/bash
time=($ date '+%Y-%m-%d %H:%M')
echo 当前时间:$time
cd /home/test
/home/anaconda3/bin/python test.py >>file_log.txt 2>&1 &
注:test.py在/home/test路径下,上面两行得意思就是,先cd到/home/test目录,然后指定python解释器去执行test.py文件,并
将标准输出和非标准输出(比如报错信息)保存到file_log.txt中,最后的&表示将任务放到后台运行(不占当前终端页面)
python解释器路径查看:
在终端输入python,进入python解释器,
导入sys模块:import sys
执行:sys.executable
出现当前python解释器路径结果:'usr/bin/python'
2.给shell脚本执行权限
chmod +x test.sh
3.编写定时任务
将shell脚本写入crontab中定时,命令crontab -e进入编辑,首次使用crontab会提醒让你选编辑器,
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
习惯用vim的话就选2就可以了,
如果你想要你的程序每分钟运行一次,可以写成
*/1 * * * * sh /home/test/test.sh
每天6点运行一次
0 6 * * * sh /home/test/test.sh
每两小时运行一次:
0 */2 * * * sh /home/test/test.sh
有关具体的定时问题请移步这里:
https://blog.csdn.net/u013967628/article/details/83504839