linux定时执行脚本
阅读目录
Linux中,周期执行的任务一般由cron这个守护进程来处理。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。
1. cron服务【Ubuntu环境】
查看cron状态
1 |
|
开启cron
1 |
|
关闭cron
1 |
|
重启cron
1 |
|
2. crontab用法
crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了数字还有几个特殊的符号:"*"、"/"和"-"、","
- *代表所有的取值范围内的数字
- "/"代表每的意思,"/5"表示每5个单位
- "-"代表从某个数字到某个数字
- ","分开几个离散的数字
注:commands 注意以下几点
- 要是存在文件,要写绝对路径
- 即使是打印也不会显示在显示屏,在后台运行,最好重定向日志
3. 编辑crontab文件
1 2 3 |
|
4. 流程举例
step1:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." 表示,每隔15分钟,执行一次打印命令
step2:添加定时任务。执行命令
1 |
|
step3:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
1 |
|
结果程序会每个15分钟往脚本里写一次“xgmtest.....”
5. 几个例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|