天天看點

三步搞定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定時清理日志檔案定時器

繼續閱讀