天天看点

三步搞定linux定时清理日志文件定时器

作者:程序员学习易经

linux 系统是由 cron (crond) 系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。

由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

1、编写shell脚本

/home/mysql_bak/new_mysql_biz_bak.sh

#!/bin/bash
source /etc/profile
source /root/.bash_profile
#定义变量参数
backday=`date +%Y%m%d`
rm -rf /home/mysql_bak/biz_data_file/$backday
rm -rf /home/mysql_bak/biz_data_file/*.tar.gz

mkdir /home/mysql_bak/biz_data_file/$backday
backdir=/home/mysql_bak/biz_data_file/$backday"/"
# 备份数据库信息
mysqldump -uroot -ppass@word -h 10.53.314.50 chain > $backdir"chain.sql"

# 保留15天内的数据备份
find /home/mysql_bak/biz_data_file/ -mtime +5 -name '*20*' -exec rm -rf {} \;

# 打包
cd /home/mysql_bak/biz_data_file
# 打包
cd /home/mysql_bak/biz_data_file
tar zcvf daas_$backday".tar.gz" $backday

# 上传hdfs
hdfs dfs -rm /mysql_bak/biz_data_file/daas_$backday".tar.gz"
hdfs dfs -put /home/mysql_bak/biz_data_file/daas_$backday".tar.gz" /mysql_bak/biz_data_file/

exit 1;

           

2、查看定时任务:

crontab -l

3、添加定时任务

crontab -e (点击回车后会弹出一个编辑界面,添加脚本进去,会自动检查,无需重启cron服务)

例如:crontab -e 10 2 * * * /bin/bash /home/mysql_bak/new_mysql_biz_bak.sh

格式如下:

minute hour day-of-month month-of-year day-of-week commands

合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday)

除了数字还有几个特殊的符号:"*"、"/"和"-"、","

"*"代表所有的取值范围内的数字

"/"代表每的意思,"/5"表示每5个单位

"-"代表从某个数字到某个数字

","分开几个离散的数字

三步搞定linux定时清理日志文件定时器
三步搞定linux定时清理日志文件定时器
三步搞定linux定时清理日志文件定时器

继续阅读