1,crontab是个啥?

ubuntu系统自带cron工具,cron是一个系统上的定时工具,用它的好处在于,不同的程序可以用同一个计时器,这样就省得不同程序各自sleep了,另外它还支持比较多的个性化功能,比如每月1号执行一次,

2,crontab怎么用?

crontab是一个和当前用户绑定的命令,一个用户有一个用户的定时配置文件,文件位置/var/spool/cron

crontab -l|-r|-e|-i 用户名
#-l:显示用户定时文件的内容
#-r:删除用户定时文件
#-i:删除用户定时文件的时候给个提示,常用-ri
#-e:编辑用户的crontab文件,第一次用可能让你选择编辑器,

登录系统用户,并且为用户创建定时文件:

crontab -e
#打开一个配置文件,并且让用户输入crontab命令

输入命令并且保存:

* * * * * /usr/bin/python /home/center/temp/crontest/logout.py
#命令的意思是每隔一分钟执行一次logout.py文件,ps:建议使用绝对命令

本人logout.py中的内容:

#!/usr/bin/python
import time
f=open("/home/center/temp/crontest/test.log","a")
t = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
str1 = '执行时间:' + t + '\n'
f.write(str1)
f.close()

crontab命令格式是这样的:

接下来需要启动cron服务

sudo service cron start
sudo service cron restart #重启
sudo service cron stop #关闭

启动成功以后使用ps查看后台进程,就会多一个这样的

root       948  0.0  0.0  30748  3272 ?        Ss   16:28   0:00 /usr/sbin/cron -f

那么问题来了,如果开启了crontab服务的电脑重启了以后,服务还有么?答案是,,还有的。本人亲测

3,crontab定时格式详解

占位符含义

每个字段代表的含义及取值范围如下:
  Minute :分钟(0-59),表示每个小时的第几分钟执行该任务
  Hour : 小时(1-23),表示每天的第几个小时执行该任务
  Day : 日期(1-31),表示每月的第几天执行该任务
  Month : 月份(1-12),表示每年的第几个月执行该任务
  DayOfWeek : 星期(0-6,0代表星期天),表示每周的第几天执行该任务

特殊符号含义

  “*” ,代表所有的取值范围内的数字;
  “/” , 代表”每”(“*/5”,表示每5个单位);
  “-” , 代表从某个数字到某个数字(“1-4”,表示1-4个单位);
  “,” ,分开几个离散的数字;

例子:

每分钟执行 * * * * *
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *

5 * * * * ls /*指定每小时的第5分钟执行一次ls命令*/ 
30 5 * * * ls /*指定每天的 5:30 执行ls命令*/ 
30 7 8 * * ls /*指定每月8号的7:30分执行ls命令*/ 
50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件*/

*/2 8-20 * * * /usr/bin/backup   每天8点到晚上8点間隔2分鐘执行一次

最新文章

  1. 【WCF】使用“用户名/密码”验证的合理方法
  2. OpenCascade MeshVS Usage
  3. js里面的 InttoStr 和 StrtoInt
  4. Dynamics AX 2012 R2 在AIF服务契约中使用DateTime
  5. 使用jsonp进行跨域访问
  6. effective c++:virtual函数的替代方案
  7. 基于JQuery+JSP的无数据库无刷新多人在线聊天室
  8. javascript 第28节 jQuery事件、迭代、样式
  9. ubuntu之iptables
  10. Linux常用命令之帮助和用户管理命令
  11. gradle3.0新命令
  12. AE 模板 素材 视频 科技 公安
  13. JAVA使用Logback发送日志到控制台、文件、ELK的最简单用法
  14. 【Codeforces 204E】Little Elephant and Strings
  15. canvas学习之柱状图
  16. 推荐系统-0X-电影推荐与结果评估
  17. Xcode C++ and Objective-C refactoring
  18. Python 计算两个IP段之间的有效IP地址
  19. visual studio 一些小技巧 整理
  20. Tag It 一款 Jquery控件,当你在文本框中输入逗号时,自动帮你分隔开相关内容

热门文章

  1. KINDLE 小说下载--超级书库
  2. java面对对象入门(4)-程序块初始化
  3. WebStorm 2019.3.1 永久破解
  4. P4735 最大异或和 /【模板】可持久化Trie
  5. Java多线程之互斥锁Syncharnized
  6. XGBoost学习笔记1
  7. VSCode常用插件之vscode-stylelint使用
  8. JAVA 递归线程池测试 ExecutorService / ForkJoinPool
  9. 【转】Servlet 九大对象和四个作用域
  10. Spark学习之路 (十)SparkCore的调优之Shuffle调优[转]