码迷,mamicode.com
首页 > 系统相关 > 详细

Linux创建定时任务与日期格式化

时间:2016-08-25 20:31:23      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

-----转载自网络

1.创建定时任务

$ crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
$ crontab -e //编辑任务
$ crontab -l //显示当前任务
$ crontab -r //删除当前所有任务

 文本格式(crontab -e | cat /etc/crontab)

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

 示例:

每天早上6点
-----------------
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
 
每两个小时
-----------------
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
 
晚上11点到早上8点之间每两个小时,早上八点
-----------------
0 23-7/28 * * * echo "Have a good dream:)" >> /tmp/test.txt
 
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
-----------------
0 11 4 * 1-3 command line
 
1月1日早上4点
-----------------
0 4 1 1 * command line
 

     每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

2.格式化时间

#获取昨天日期 yyyyMMdd 格式
yesterday=`date --date=‘1 days ago‘ +%Y%m%d`
#获取昨天日期 yyyy-MM-dd 格式
yesterday2=`date --date=‘1 days ago‘ +%Y-%m-%d`

#获取今天日期 yyyyMMdd 格式
today=`date --date=‘0 days ago‘ +%Y%m%d`
#获取今天日期 yyyy-MM-dd 格式
today2=`date --date=‘0 days ago‘ +%Y-%m-%d`

#获取明天日期 yyyyMMdd 格式
today=`date --date=‘1 days‘ +%Y%m%d`
#获取明天日期 yyyy-MM-dd 格式
today2=`date --date=‘1 days‘ +%Y-%m-%d`

#获取当前时间 yyyy-MM-dd HH:mm:ss 格式
nowtime=`date --date=‘0 days ago‘ "+%Y-%m-%d %H:%M:%S"`
#获取当前日间 HH:mm:ss 格式
nowtime2=`date --date=‘0 days ago‘ +%H:%M:%S`

#获取1小时前时间 yyyy-MM-dd HH:mm:ss 格式
onehourage=`date --date=‘1 hours ago‘ "+%Y-%m-%d %H:%M:%S"`
#获取1小时后时间 yyyy-MM-dd HH:mm:ss 格式
onehourage2=`date --date=‘1 hours‘ "+%Y-%m-%d %H:%M:%S"`

#获取2小时前时间 yyyy-MM-dd HH:mm:ss 格式
twohourage=`date --date=‘2 hours ago‘ "+%Y-%m-%d %H:%M:%S"`
#获取2小时后时间 yyyy-MM-dd HH:mm:ss 格式
twohourage2=`date --date=‘2 hours‘ "+%Y-%m-%d %H:%M:%S"`

#获取1个月前时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 month ago‘ "+%Y-%m-%d %H:%M:%S"
#获取1个月加1天前时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 month ago + 1 day ago‘ "+%Y-%m-%d %H:%M:%S"
#获取1个月减1天前时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 month ago - 1 day ago‘ "+%Y-%m-%d %H:%M:%S"

#获取1个月加1天加1小时加1分钟加1秒钟前时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 month ago + 1 day ago + 1 hour ago + 1 min ago + 1 sec ago‘ "+%Y-%m-%d %H:%M:%S"
#获取1个月加1天减1小时减1分钟减1秒钟前时间 yyyy-MM-dd HH:mm:ss 格式  可以 + - 滥用
date --date=‘1 month ago + 1 day ago - 1 hour ago - 1 min ago - 1 sec ago‘ "+%Y-%m-%d %H:%M:%S"

#获取1个月加1天加1小时加1分钟加1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 month + 1 day  + 1 hour  + 1 min  + 1 sec ‘ "+%Y-%m-%d %H:%M:%S"

#获取1个月加1天减1小时减1分钟减1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 month + 1 day  - 1 hour  - 1 min  - 1 sec ‘ "+%Y-%m-%d %H:%M:%S"

#获取1年后1个月加1天减1小时减1分钟减1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 year 1 month + 1 day  - 1 hour  - 1 min  - 1 sec ‘ "+%Y-%m-%d %H:%M:%S"

#获取1年前1个月加1天减1小时减1分钟减1秒钟后时间 yyyy-MM-dd HH:mm:ss 格式
date --date=‘1 year 1 month + 1 day  - 1 hour  - 1 min  - 1 sec ‘ "+%Y-%m-%d %H:%M:%S"

 

Linux创建定时任务与日期格式化

标签:

原文地址:http://www.cnblogs.com/windyofsky/p/5807903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!