• Linux下crontab的使用


    之前一直在Linux上使用crontab,今天换到了Ubuntu上踩了不少小坑,今天总结一下。

    默认情况下Ubuntu里都装好了crontab,我们直接使用crontab来编辑命令:

    结果出现了这个页面,当时第一反应就是这个怎么是这样。。。

    这里一定要选对,之前一直选了2,超级难操作。后来发现可以使用 select-editor 重新进行选择

    root@tl-virtual-machine:/var/spool/cron/crontabs# select-editor
    
    Select an editor.  To change later, run 'select-editor'.
      1. /bin/ed
      2. /bin/nano        <---- easiest
      3. /usr/bin/vim.tiny

    还是选3vim.tiny,不要相信2那里写的easiest,是骗人的。 

    编辑完后文件保存在了 /var/spool/cron/crontabs

    我们使用crontab -e 定时一个任务

    然后使用crontab -l 查看一下:

    这里 *****代表每分钟执行一次,但是我保存帐号一直没有执行。因此我需要查看crontab的log,但是默认是不开启的。

    于是需要 vim /etc/rsyslog.d/50-default.conf

    把cron.*这句话前面的注释给拿掉

    更新完后重新加载配置文件,重启服务

    使用 cat /var/log/cron.log查看log,我们可以看到craontab是执行了我的配置的

    我的脚本是重定向一个日期命名的文件,输出出来。但是为什么一直看不到文件出现呢。

    后来问题找到了 原来是我这里没有指定路径

     指定了路径之后,一切正常。刚开始还以为环境变量的问题,固在第二行加了那个path。

    下面总结一下常用的craontab的命令:

    * * * * * command    每1分钟执行一次command
    
    3,15 * * * * command    每小时的第3和第15分钟执行
    
    3,15 8-11 * * * command    在上午8点到11点的第3和第15分钟执行
    
    3,15 8-11 */2 * * command    每隔两天的上午8点到11点的第3和第15分钟执行
    
    3,15 8-11 * * 1 command    每个星期一的上午8点到11点的第3和第15分钟执行
    
    30 21 * * * /etc/init.d/smb restart    每晚的21:30重启smb 
    
    45 4 1,10,22 * * /etc/init.d/smb restart    每月1、10、22日的4 : 45重启smb
    
    10 1 * * 6,0 /etc/init.d/smb restart    每周六、周日的1 : 10重启smb
    
    0,30 18-23 * * * /etc/init.d/smb restart   每天18 : 00至23 : 00之间每隔30分钟重启smb 
    
    0 23 * * 6 /etc/init.d/smb restart    每星期六的晚上11 : 00 pm重启smb
    
    * */1 * * * /etc/init.d/smb restart    每一小时重启smb
    
    * 23-7/1 * * * /etc/init.d/smb restart    晚上11点到早上7点之间,每隔一小时重启smb
    
    0 11 4 * mon-wed /etc/init.d/smb restart    每月的4号与每周一到周三的11点重启smb
    
    0 4 1 jan * /etc/init.d/smb restart    一月一号的4点重启smb
    
    01 * * * * root run-parts /etc/cron.hourly    每小时执行/etc/cron.hourly目录内的脚本
    说明:run-parts这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了每1分钟执行一次command
  • 相关阅读:
    工作中用到知识点
    工作中遇到问题的解决办法
    透明度兼容性(ie8以上)
    js阻止浏览器默认行为
    js停止冒泡和阻止浏览器默认行为
    js添加事件通用方法
    jquery常用插件
    延迟加载、异步加载js
    JavaScript兼容性问题
    创建对象的一种方式&一种继承机制(代码实例)
  • 原文地址:https://www.cnblogs.com/by-dream/p/7472396.html
Copyright © 2020-2023  润新知