自学内容网 自学内容网

erlang学习:Linux命令学习11

crontab命令

crontab命令是用于管理定时任务的命令行工具。它提供了多种选项和参数,可以用来创建、编辑、查看和删除用户的定时任务。

常用命令

以下是一些常用的crontab命令:

crontab -e:编辑当前用户的定时任务列表。该命令会在默认编辑器中打开定时任务文件,你可以添加、修改和删除定时任务。
crontab -l:列出当前用户的定时任务列表。该命令会将定时任务以文本形式输出到终端。
crontab -r:删除当前用户的所有定时任务。该命令会删除当前用户的定时任务文件,并且无法恢复,请谨慎使用。
crontab -u -e:以指定用户的身份编辑定时任务列表。使用该命令可以编辑其他用户的定时任务文件,需要管理员权限或root用户身份。
crontab -u -l:列出指定用户的定时任务列表。该命令会将指定用户的定时任务以文本形式输出到终端
这些命令都是在终端中执行的,需要具备足够的权限(如管理员权限或root用户身份)。

实例

1)每1分钟执行一次
* * * * *
2)每小时的第3和第15分钟执行
3,15 * * * *
3)在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * *
4)每两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * *
5)每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1
 
6)每晚的21:30重启smb 
30 21 * * * /etc/init.d/smb restart
7)每月1、10、22日的4 : 45重启smb 
45 4 1,10,22 * * /etc/init.d/smb restart
8)每周六、周日的1:10重启smb
10 1 * * 6,7 /etc/init.d/smb restart
9)每天18:00至23:00,整点和整半点重启smb 
0,30 18-23 * * * /etc/init.d/smb restart
10)每星期六的晚上11:00 pm重启smb 
0 23 * * 6  /etc/init.d/smb restart
11)每一小时重启smb 
* */1 ** * /etc/init.d/smb restart
12)晚上11点到早上7点之间,每一小时重启smb
* 23-7/1 * * *
13)每月的4号与每周一到周三的11点重启smb 
0 11 4 * 1-3 /etc/init.d/smb restart
14)一月一号的4点重启smb
0 4 1 1 *  /etc/init.d/smb restart
15)每小时的第1分钟执行/etc/cron.hourly目录内的脚本
1 * * * * /etc/cron.hourly
16)每一小时重启smb 
0 */1 * * * /etc/init.d/smb restart
 
#每晚的21:30 重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart 
#每月1、10、22日的4 : 45重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart  
#每周六、周日的1 : 10重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart  
#每天18 : 00至23 : 00之间每隔30分钟重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart  
#每星期六的11 : 00 pm重启apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart  
#晚上11点到早上7点之间,每隔一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart  
#每一小时重启apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart  
#每月的4号与每周一到周三的11点重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart  
#一月一号的4点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart  
#每半小时同步一下时间
*/30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org  
#每两个小时重启一次apache 
0 */2 * * * /sbin/service httpd restart  
#每天7:50开启ssh服务
50 7 * * * /sbin/service sshd start 
#每天22:50关闭ssh服务  
50 22 * * * /sbin/service sshd stop  
 #每月1号和15号检查/home 磁盘 
0 0 1,15 * * fsck /home  
#每小时的第一分执行 /home/bruce/backup这个文件
1 * * * * /home/bruce/backup   
#每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 
#每月的1、11、21、31日是的6:30执行一次ls命令 
30 6 */10 * * ls 

定时任务不生效
我尝试了最简单的定时任务但是还是不生效,同时crontab也是开启的
请添加图片描述
重启服务也不行
请添加图片描述
尝试指定时间来运行定时器

请添加图片描述

依然没有任何反应
请添加图片描述
经过查阅是因为单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。 因此可以将输出结果放入文件中查看

请添加图片描述
生成了相应的文件并且有值,说明是成功执行了定时任务中的代码

请添加图片描述
查看信箱内容确实也是在里面的
请添加图片描述
同样.sh文件中我也放的是echo,估计也是将echo的内容放入了信箱当中,因此没有看到输出结果,我进行了修改之后就能够正常看到定时器执行任务了
请添加图片描述

请添加图片描述


原文地址:https://blog.csdn.net/qq_52132912/article/details/142796874

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!