记录一下设置Linux定时任务方式

linux设置定时任务执行定时脚本
系统定时任务周期:每小时
控制定时任务目录:/etc/cron.hourly
定时 每小时顺序:
1.进入定时任务目录
[root@localhost ~]# cd /etc/cron.hourly
2.创建执行脚本
[root@localhost cron.hourly]# touch xxx.sh
3.增加可执行权限
[root@localhost cron.hourly]# chmod +x xxx.sh
4.hourly内的可执行文件,每小时都会从头到尾的执行一遍。

系统定时任务周期:每一天
控制定时任务目录:/etc/cron.daily
1.进入定时任务目录
[root@localhost ~]# cd /etc/cron.daily
2.创建执行脚本
[root@localhost cron.hourly]# touch xxx.sh
3.增加可执行权限
[root@localhost cron.hourly]# chmod +x xxx.sh
4.daily内的可执行文件,每天都会从头到尾的执行一遍。

系统定时任务周期:每一周
控制定时任务目录:/etc/cron.weekly
1.进入定时任务目录
[root@localhost ~]# cd /etc/cron.weekly
2.创建执行脚本
[root@localhost cron.hourly]# touch xxx.sh
3.增加可执行权限
[root@localhost cron.hourly]# chmod +x xxx.sh
4.weekly内的可执行文件,每周都会从头到尾的执行一遍。

系统定时任务周期:每个月
控制定时任务目录:/etc/cron.monthly
1.进入定时任务目录
[root@localhost ~]# cd /etc/cron.monthly
2.创建执行脚本
[root@localhost cron.hourly]# touch xxx.sh
3.增加可执行权限
[root@localhost cron.hourly]# chmod +x xxx.sh
4.monthly内的可执行文件,每月都会从头到尾的执行一遍。

通过crontab设置执行时间
1、编辑crontab文件

vi /etc/crontab


如设置每天凌晨8:00执行cron.daily中的脚本:

00 8 * * * root run-parts /etc/cron.daily


2、crontab -e

其中:

  • 分:分钟数 (0-59)
  • 时:小时数 (0-23)
  • 日:日期 (1-31)
  • 月:月份 (1-12)
  • 周:星期几 (0-6,其中0是星期日)

例如,要每天的下午2点运行一个脚本文件

0 14 * * * /bin/bash /path/to/your/script.sh

编辑完 crontab 文件后,保存并关闭编辑器。

crontab 文件修改保存后,cron 守护进程会自动加载新的定时任务。

使用绝对路径指定脚本文件的位置,确保正确找到脚本。
确保脚本有可执行权限,可以使用 chmod +x /path/to/script.sh 添加执行权限。
定时任务的执行时间按照系统的时区设置进行计算。你可以使用 timedatectl 命令来检查和更改时区设置。
可以使用 crontab -l 命令来列出当前用户的 crontab 内容。
如果需要删除所有定时任务,可以使用 crontab -r 命令。
通过以上步骤,你就可以在 Linux 中定时执行一个 .sh 文件了。请根据你的需求和实际情况进行相应的调整。

问题:linux下编译脚本xxx.sh时,直接报错:bash: ./xxx.sh: /bin/bash^M: 解释器错误: 没有那个文件或目录

原因:因为xxx.sh脚本文件是在windows下编辑后拷贝至linux系统下编译,因为在windows下换行会对一个"\r",所以导致在linux下编译不通过。

解决方式:

在linux下执行以下命令可转换格式:

sed -i 's/\r$//' build.sh

 

posted @ 2023-08-22 09:26  二娃的园子  阅读(134)  评论(0编辑  收藏  举报