linux 定时执行脚本

linux 定时执行脚本

声明:目前菜鸟级别,只是自己工作当中需要用到时查询资料解决工作所需做些记录,方便以后自己查阅!

方式一:at(定时执行,只执行一次)

1、开启at服务:


2、查看是否开启:


3、时间格式:

4、本人脚本路径:/root/script/exportdata.sh :


5、补充:1)查看当前任务:atq;2) 取消当前at任务-> atrm 6

方式二:crontab命令


1、时间格式:

2、crontab -e :进入编辑命令模式

3、编写任务 ,于17:24分执行指定路径下的脚本

4、成功执行 


5、crontab -e 进入编辑模式可编译执行多条命令,需要删除某一条可直接进入编辑模式删除,若要清空,直接执行 crontab -r

6、crontab -l 查看当前任务

7、查看是否执行该定时器中的脚本,1) cd /var/log      2) less cron


方式三:systemd timers定时器

1、编写脚本,位置:/root/script/exportdata.sh

2、在/etc/systemd/system目录下编写sqldata.service文件(其中sqldata为文件名称,可自行根据需要定义)

                [Unit]

                Description=my sql data script

                [Service]

                Type=simple

                #以下为要执行的脚本的具体路径

                ExecStart=/root/script/exportdata.sh  

3、在/etc/systemd/system目录下编写sqldata.timer文件

            [Unit]

            Description=Runs export sql data every hour

            [Timer]

            #首次运行间隔时间

            OnBootSec=1min

            #每次运行间隔时间

            OnUnitActiveSec=1min

            #指定定时需要执行的单元,若未指定则默认与定时器名称相同的.service文件

            Unit=sqlData.service

            [Install]

            WantedBy=multi-user.target

4、授权并运行timer文件

                # 以 root 身份启动定时器

                systemctl start sqldata.timer

                # 在系统引导起来后就启用该定时器

                systemctl enable sqldata.timer


注:我也是查资料看其他前辈的方法,然后总结在此处,主要目的方便保存,如有不当之处,敬请指教,谢谢!

相关文案连接:https://www.linuxidc.com/Linux/2014-10/107923.htm

                        https://blog.csdn.net/sunbocong/article/details/77883797

你可能感兴趣的:(linux 定时执行脚本)