您当前的位置:主页 > 技术探讨 >

    linux自动启动脚本使用

    时间:2022-01-25 09:57 日记人:arlen.zhou

    一.cron任务的自启动相关命令

    1.检测cron定时服务是否自启用

    systemctl is-enabled crond.service

    结果展示如下:

    enable表示已启用自启动
    disable标识未启用自启动

    2.如果未启用,则开启cron自启用

    systemctl enable crond.service

    3.如果已经启用,想要cron关闭自启动

    systemctl disable crond.service

    二.cron服务是否启动相关命令【区别于自启动】

    1.查看cron服务的启动状态

    [只有cron的状态是active  running的,才表示cron服务是启动的]

    systemctl status crond.service

    2.启动cron服务[命令没有提示]

    systemctl start crond.service

    3.停止cron服务[命令没有提示]

    systemctl stop crond.service

    4.重启cron服务[命令没有提示]

    systemctl restart crond.service

    5.重新加载cron服务[命令没有提示]

    systemctl reload crond.service

    三.操作定时任务

    1.定时任务的编辑

    crontab -e

    编辑内容和centos6 一样。表示每天7.30  执行 /mnt/apps/tomcat/tomcat.sh 路径下的脚本

    30 07  * * * /mnt/apps/tomcat/tomcat.sh

    如果在上面,已经把定时任务cron启动了,编辑定时任务后,会有提示

    2.查看已编辑的定时任务

    crontab -l

    3.删除已编辑的所有定时任务

    crontab -r

    四.查看定时任务的执行日志

    1.查看cron执行日志

    tail -f -n 200 /var/log/cron

    五.最后总结

    如上述命令,整个cron操作步骤如下

    1>编辑了.sh脚本,并保存,记录.sh文件所在路径【一定确保.sh脚本可用,可以尝试在编辑完成.sh文件后,直接./tomcat.sh  执行脚本文件,查看是否可以正常执行】

    2>查看并设置cron为自启动

    3>查看并启动cron服务,使状态为running

    4>编辑并查看cron服务,注意路径和定时格式,确保cron服务编辑成功

    5>最后在编辑完成cron服务后,重新加载或重启cron服务,确保cron服务状态是running的

    6>最后可以通过查看cron执行日志,确保cron是否执行

    7>如果cron任务不执行,确保linux服务器系统 时间 和时区 是否正常

    六.cron任务不执行,问题排查

    如上,已经确保  第五点中所有 步骤都正确执行了。但是cron定时任务一直没有执行。

    我这里出现的原因,是因为服务器的时区设置不正确。

    正确的时区应该是

    CST

    如果你的时区是

    UTC

    或者其他,就导致时间和时区不正确。

    我设置的定时任务是17.05执行,结果等到了17.05,定时任务不执行,因为此刻的系统时间是05.05

    七.linux 脚本操作

     
    一、创建一个任务文件
    1、命令行输入crontab -e会自动打开一个空文件:
    # crontab -e
    2、输入a或者i可以进入编辑状态,可输入任务代码。代码格式可以进入/etc/crontab查看
    # cd /etc
    # cat crontab
     
    二、保存文件
    先按Esc键,然后输入“:wq”
     
    三、查看文件
    保存成功的文件去哪里了呢?在/var/spool/cron/下面
    # cd /var/spool/cron
    # ls

    四:用root权限编辑以下文件

    sudo vim /etc/crontab