Linux下使用crontab定時備份日志


上周學習了Linux,其中有使用crontab定時備份日志的內容,現把主要步驟記錄如下:

首先需要備份的日志的源目錄位於/opt/lampp/logs/access_log

備份到/tmp/logs下

備份文件加上時間戳date +%Y%m%d%H%M%S

以上是備份說明,下面分三步操作

一、shell腳本

[root@CentOs6 lampp]# vi test.sh    #創建shell腳本


#!/bin/bash                                    #編譯器
mypath='/tmp/logs'                        #日志備份到該目錄下,定義變量使用單引號
echo ${mypath}                             #回應/tmp/logs

mylog='/opt/lampp/logs/access_log' #我們要備份的日志
echo ${mylog}                               #回應/opt/lampp/logs/access_log

time=`date +%Y%m%d%H%M%S`#時間戳,執行命令使用``,esc下面的
echo ${time}                                  #回應時間戳
cp ${mylog} ${mypath}/${time}_access.log     #備份日志access_log到/tmp/logs路徑下
echo ${mypath} ${mypath}/${time}_access.log#回應

 

[root@CentOs6 lampp]# ./test.sh    #執行test.sh

-bash: ./test.sh: 權限不夠                #會提示權限不夠

[root@CentOs6 lampp]# chmod +x ./test.sh    #需要給這它賦與權限

[root@CentOs6 lampp]# ./test.sh                   #再次執行,腳本沒有報錯
/tmp/logs
/opt/lampp/logs/access_log
20161227172323
/tmp/logs /tmp/logs/20161227172323_access.log

 

二、crontab 定時任務

[root@CentOs6 lampp]# crontab -e  #編輯定時任務

* * * * * sh /opt/lampp/test.sh       #每分鍾執行一次test.sh,crontab使用在上篇Linux命令中詳細介紹

[root@CentOs6 lampp]# crontab -l  #查看定時任務
* * * * * sh /opt/lampp/test.sh

三、重啟crond

[root@CentOs6 lampp]# service crond reload
重新載入 crond:                                            [確定]

 

打開xftp查看

 

總結:

1- 先單獨執行 .sh ,確定 .sh 可以執行不報錯
2- 從根目錄查找 *.access.log 看看備份的存放路徑是否正確
3- 檢查 crontab 里的空格是不是半角英文

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM