安装服务

linux应该都有crontab,没有的话可以安装一下:
vixie-cron软件包是cron的主程序; 
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

yum install  vixie-cron
yum install  crontabs

Crontab查看编辑

1、查看crontab定时执行任务列表

crontab -l

2、编辑crontab定时执行任务

crontab -e

键入 a 进入编辑模式
Ctrl+c 退出编辑模式
wq 保存并退出

3、删除crontab定时任务
crontab -r命令会删除当前用户的所有计划任务。如果你只想删除某个特定的计划任务,可以使用crontab -e命令来打开计划任务编辑器,手动删除相应的行,并保存退出。

crontab -r

启动/关闭服务

安装完以后开启crontab服务
用以下的方法启动、关闭这个cron服务:

centos 6.x
service crond start //启动服务   
service crond stop //关闭服务   
service crond restart //重启服务   
service crond reload //重新载入配置
service crond status   //查看crontab服务状态
service crond start  //手动启动crontab服务

centos 7.x
systemctl start crond.service //启动服务   
systemctl stop crond.service //关闭服务   
systemctl restart crond.service //重启服务   
systemctl reload crond.service //重新载入配置
systemctl status crond.service   //查看crontab服务状态

查询日志
tail -f /var/log/cron 

服务开机启动

1、检查服务是否设置开机启动

systemctl is-enabled crond

2、让服务开机启动

systemctl enable crond.service

3、不让服务开机启动

systemctl disable crond

例子:
#每天凌晨两点执行backDB.sh该文件

 0 2 * * * root /usr/local/wfjb_web_back/backDB.sh >> /root/cloudduo/cloudduo.log  

最后重启crontab服务让新配置的定时任务生效

service crond restart

查询日志

tail -f /var/log/cron 

可以使用shell脚本中的for循环来添加多个计划任务。

具体步骤如下:

  1. 编写一个包含所有计划任务的数组或列表。

  2. 使用for循环来遍历数组或列表,每次取出一个计划任务。

  3. 在循环体内部,使用crontab命令添加计划任务。

下面是一个示例脚本,演示如何添加三个计划任务:

#!/bin/bash

# 定义计划任务列表
tasks=(
    "*/5 * * * * /usr/bin/command1"
    "0 1 * * * /usr/bin/command2"
    "15 4 * * 1-5 /usr/bin/command3"
)

# 遍历列表,添加计划任务
for task in "${tasks[@]}"
do
    # 添加计划任务
    (echo "$task" && crontab -l) | crontab -
done

在脚本中,我们首先定义了一个包含三个计划任务的数组tasks。然后使用for循环遍历这个数组,每次取出一个计划任务,并使用crontab命令添加到系统的计划任务中。

在crontab命令中,我们使用了管道符号来将计划任务添加到现有的计划任务列表中。这里使用了一些技巧来实现,具体可以参考crontab命令的用法文档。