Linux - Crontabs定时任务

Tim 20 2024-10-10

搬运之前的笔记,记不清具体细节,实际遇到了再完善吧

安装

apt-get install cron

sudo yum install crontabs

基本操作

启动

service cron start

重启

service cron restart

停止

service cron stop

检查状态

service cron status

查询cron可用的命令

service cron

检查Cronta工具是否安装

crontab -l

开启日志

sudo vim /etc/rsyslog.d/50-default.con

#去掉log注释即可

清理Nginx日志

以下所涉及的目录需要以实际为准

创建脚本

用途:将Nginx日志移动到指定目录下

vim /opt/usersh/nginx_logs_clean.sh
#!/bin/bash

LOG_RAW_PATH=/var/log/nginx/
LOG_BACK_PATH=/home/tim/logback/nginx/
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
PID=/run/nginx.pid
SAVETIME=7
sudo mv ${LOG_RAW_PATH}access.log ${LOG_BACK_PATH}access-${YESTERDAY}.log
sudo mv ${LOG_RAW_PATH}error.log ${LOG_BACK_PATH}error-${YESTERDAY}.log
sudo find ${LOG_BACK_PATH} -mtime +${SAVETIME} -name \*.log |xargs rm -rf {}
sudo kill -USR1 `cat ${PID}`

添加权限

chmod +x nginx_logs_clean.sh

设置定时任务

# 添加一项定时任务执行 -u root 指定root用户
crontab -u root -e

# 定时任务内容
0 0 * * * /opt/usersh/nginx_logs_clean.sh