Step 1:

前提是linux服务器安装了crond
定时任务需要crond服务的支持
1.启动方法

service crond restart  

2.该服务默认是开机启动的

取消定时任务

1.全部取消

crontab -r

2.取消某个

crontab -e

配置文件,删除要取消的哪一行配置

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

查看目前都有那些定时任务

crontab -l

Step 2:

编写bash脚本,比如一个简单的脚本

#!/bin/bash
time=$(date "+%Y%m%d:%H-%M-%S")
echo "${time}"
echo "--我要开始清理日志啦-----"
echo '' > /opt/apache-tomcat-8.5.32.lop1/logs/catalina.out
echo "---已经清理完毕---"

编写完成之后,自己手动运行看是否正确。

Step 3:

添加定时任务
打开定时任务配置文件:crontab -e
在弹出的新窗口中敲击i进入编写:

* * * * * xxx.sh

或者

* * * * * /opt/xxx.sh >> /xxx/xxx/crontab.log

注释:

`* * * * * /opt/xxx.sh >> /xxx/xxx/crontab.log` 和 `* * * * * /opt/xxx.sh >> /xxx/xxx/crontab.log 2>&1` 之间的区别在于标准错误的重定向。

在第一个命令中,标准错误并没有被重定向,因此任何在 `/opt/xxx.sh` 脚本中输出到标准错误的信息都不会被写入到 `/xxx/xxx/crontab.log` 文件中,而只会输出到标准错误流中(通常会在终端或日志文件中显示)。

在第二个命令中,使用了 `2>&1` 重定向操作符,将标准错误重定向到标准输出。这意味着 `/opt/xxx.sh` 脚本中输出到标准错误的任何信息都会被写入到 `/xxx/xxx/crontab.log` 文件中,以及输出到标准输出流中。

因此,如果你需要捕获 `/opt/xxx.sh` 脚本中可能输出到标准错误的信息,应该使用第二个命令,否则第一个命令就足够了。

编辑完成进行保存并退出

Step 4:

查看目前的定时任务

crontab -l