• Linux定时任务与开机自启动脚本(cron与crontab)


    开机自启动脚本

    网上常见的脚本开机自启方法是:

    假设要自启的脚本位于 /home/user/test.sh

    • 给脚本可执行的权限
    sudo chmod +x /home/user/test.sh
    
    • 将脚本文件放到 /etc/init.d/ 目录下
    sudo cp /home/user/test.sh /etc/init.d
    
    • 链接到/etc/rc.d/
    sudo ln -s /etc/init.d/start_my_app /etc/rc.d/
    

    这样在新的diban系统中可能不能生效,要LSB 兼容之类 ,脚本还要提供start, stop, restart, force-reload,等命令,具体参考
    https://wiki.debian.org/LSBInitScripts


    因此这里推荐使用另外一种超级简单的方法:

    bash中输入(推荐以管理员的状态)

    crontab -e
    

    第一次使用这个的话,会提示选择一种编辑器,根据个人喜好选择吧。然后就会进入对应编辑器的编辑界面,另起一行输入

    @reboot /home/user/test.sh 
    

    reboot 后面即脚本文件位置,然后保存即可。Ok,脚本现在已经会在开机时自动运行了。

    定时任务

    同样的bash里输入 crontab -e

    然后编辑界面加上具体的命令语句。基本语法为

    # .---------------- 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
    
    

    比如:
    每天的凌晨4点半运行test.sh脚本

    30 04 * * * /home/user/test.sh
    

    每周的周一17:30执行test.sh脚本

    30 17 * * 1 /home/user/test.sh
    

    或间隔15分钟执行一次test.sh脚本

    */15 * * * * /home/user/test.sh
    

    这个指在9:05 至17:05的范围内,每个钟头的过5分会运行一次,比如10:05、11:05会运行

    05 09-17 * * * /home/user/test.sh
    

    关于

    bash中输入

    service --status-all
    

    会发现有个cron,。就是cron 这个服务实现了前文中那些定时任务。而cron也是在/etc/init.d/中注册从而自启的,启动后它会扫描/var/spool/cron 、/etc/cron.d目录和 /etc/anacrontab文件,扫描到的文件中定义了各种定时任务。

    另外关于crontab命令,: 后面的tab其实就相当table的缩写,因为系统中的每个用户(包括管理员)都会有一个对应的cron 文件,位于 /var/spool/cron/crontabs/ 目录下,因此table可以简单理解为管理这些用户cron文件的表。需要注意的是不要直接修改用户对应的cron文件,而应该使用 crontab -e 命令修改,因为这样修改保存后,它会立即生效。

  • 相关阅读:
    SQL Server复制情况下的高可用方案(一)镜像+复制
    sqlserver数据库镜像运行模式
    普通PC机支持内存128G,单条32G内存
    ICSharpCode.SharpZipLib 压缩、解压文件 附源码
    利用SharpZipLib进行字符串的压缩和解压缩
    SQL Server常见数据类型介绍
    .net中压缩和解压缩的处理
    solr字段压缩属性compressed新版本已经移除
    solr schema.xml Field属性详解
    Altmetric
  • 原文地址:https://www.cnblogs.com/asche/p/10240994.html
Copyright © 2020-2023  润新知