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 進行編輯)