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

  1. 1.首先我们要连接上linux服务器,根据自己使用的云服务器进行连接,只有知道ip地址,用户名和密码就可以了。点击“enter”。

    linux下如何创建定时任务
    linux下如何创建定时任务








  2. 2

    2、查看正在执行的crontab,用命令crontab  -l ,这样就可以看到哪些任务一直在执行了。

    linux下如何创建定时任务
    linux下如何创建定时任务









  3. 3

    3、输入命令“crontab -e”,在打开的页面中点击“i”键,进入插入模式,就可以编辑了。

    linux下如何创建定时任务





  4. 4

    4、编辑的格式,是“分 时 日 月 周 命令”。当分为*时,表示每分钟执行一次,时为*时,表示每小时执行一次。

    linux下如何创建定时任务




  5. 5

    5、如果要设置没隔多久执行,则写为“*/数字”,在哪个位置就代表没隔多久执行一次。

    linux下如何创建定时任务




  6. 6

    6、只要把要执行的文件放在服务器上,然后按照这个格式写,然后按照设定的时间,就会自动执行文件了。比如我设定每天十点定时执行一个文件。

    linux下如何创建定时任务








1.创建定时任务

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

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

1
2
3
4
5
6
7
# .---------------- 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

 示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
每天早上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.格式化时间

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
47
48
49
50
51
52
53
#获取昨天日期 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"

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值