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