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
网友评论