linux自動備份文件 並上傳到遠程服務器 腳本實現


(1)在服務器上創建備份目錄,並賦予權限

      mkdir -p /backup/bakdata  #新建數據備份目錄
(2)完成備份腳本操作
新建腳本文件
      vi bakdata.sh
添加以下內容:

     #!/bin/sh
     dateTime=`date +%Y_%m_%d`    #當前系統時間
     days=7    #刪除7天前的備份數據s
     orowner=bakuser   # 備份到此用戶下
     bakdescdir=/DATA/bakmdata     #備份文件到該路徑
     bakdata=$orowner"_"$dateTime.tar.gz   #備份文件名
     baklog=$orowner"_"$dateTime.log    #備份日志
     baksrcdir=/DATA/www/moodledata   #需要備份的文件
     remotePath=/DATA/moodle/bakmooldedata   #遠程服務器的路徑

     cd $bakdescdir    #進入備份目錄
     mkdir -p $orowner   #按需要備份的用戶創建目錄   
     cd $orowner   #進入目錄
     echo "backup start at $dateTime" > $baklog
     echo "--------------------------" >>$baklog
     tar -zcvf $bakdata $baksrcdir $baklog    #壓縮備份文件和日志文件

    find $bakdescdir/$orowner -type f -name "*.log" -exec rm {} \;   #刪除日志文件
    find $bakdescdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec  rm -rf {} \;#刪除7天前的備份(注意:{} \中間有空格)
    scp  $bakdescdir/$orowner/$bakdata 10.6.108.79:$remotePath  #上傳到遠程服務器
(3)添加腳本執行權限
chmod +x /backup/oracledata/ordatabak.sh 

  #添加腳本執行權限
(4)編輯系統任務執行計划
crontab -e
輸入一下信息“:

00 01 * * * /DATA/bakdata/bakdata.sh#每天凌晨1點,以oracle用戶執行ordatabak.sh備份文件

:wq! #保存退出

重啟crontab

service crond restart

從此每天的凌晨1點 系統會自動完成數據庫的備份,壓縮,並上傳到遠程服務器的指定路徑下


免責聲明!

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



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