日誌按日期自動備份

1.編寫一個腳本

#!/bin/bash
#日誌存放位置
path='/var/local/rcserver/1'
#日誌備份保存位置
path1='/var/local/rcserver/1'
# 獲取當前年信息和月信息
day=$(date -d yesterday +"%Y-%m")
#獲取昨天的日信息
day1=$(date -d yesterday +"%d")
#按年月創建文件夾
mkdir -p $path/$day
#備份昨天的日誌到當月的文件夾
mv $path/linuxprobe.txt $path1/$day/linuxprobe_$day1.txt
#輸出備份日誌文件名
#echo $path/$day/linuxprobe_$day1.txt
#生產任務程序不要隨意打印輸出信息

#注:如是日誌文件,則mv移動後,以前的日誌文件將不再存在,則需要重啓服務,重新生成日誌。(可添加一行代碼重啓服務,如:server sshd restart)

2.給腳本可執行權限

chmod 777 1.sh

執行腳本

./1.sh

3.將腳本加入定時任務中

crontab命令概念

crontab命令用於設置週期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中,以供之後讀取和執行。

  *           *        *        *        *           command

minute   hour    day   month   week      command

分          時         天      月        星期       命令

星號(*):代表每的意思,例如month字段如果是星號,則表示每月都執行該命令操作。

逗號(,):表示分隔時段的意思,例如,“1,3,5,7,9”。

中槓(-):表示一個時間範圍,例如“2-6”表示“2,3,4,5,6”。

正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執行一次。

運行crontab –e 編寫一條定時任務(如這裏寫的就是每天0點1的時候執行這個腳本)

運行crontab –l查看

運行crontab –r 刪除當前用戶定時任務(注意:這裏刪除是直接把當前用戶的定時任務全部刪完,刪除一條數據,可以運行crontab –e 進行編輯)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章