本文将介绍ubuntu系统下如何定时执行shell脚本、python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了。
crontab -e
参数定义:
-u
指定用户,
- -l
列出用户任务计划,-r
删除用户任务,-e
编辑用户任务英文介绍:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
中文解释:
格式
m h dom mon dow command
以上为缩写,这里提供全拼对照:
minute (m), hour (h), day of month (dom), month (mon), day of week (dow)
含义如下:
m
每个小时的第几分钟执行该任务h
每天的第几个小时执行该任务dom
每月的第几天执行该任务mon
每年的第几个月执行该任务dow
每周的第几天执行该任务
- command
指定要执行的程序分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command
其他:
0
表示周日。*
代表任何时间,比如第一个分钟,用 *
就代表每一小时的每一分钟都执行-
表示区间,比如1-3
,
如果区间不连续,可以用,
例如1,3,6
编辑完成后wq
保存退出service cron restart
注意,一定要用绝对路径。否则可能会执行失败。
比如,我们要执行
python bwh.py
那么你需要干的第一件事是
which python
以此来查看python
命令的真正路径
root@ubuntu:~# which python
/root/.pyenv/shims/python
然后,查看bwh.py
的全路径,在bwh.py
所在文件夹下
pwd
/app/python/blog
然后路径便为
/app/python/blog/bwh.py
所以整条记录应该这样编辑
0 9 * * * /root/.pyenv/shims/python /app/python/blog/bwh.py > /tmp/new_blog_bwh.log
上面的记录是指每天9点整执行/root/.pyenv/shims/python /app/python/blog/bwh.py
并将打印日志输出到/tmp/new_blog_bwh.log