麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

shell周期差量備份文件夾的實現代碼

2020-07-27 18:43:33
字體:
來源:轉載
供稿:網友

shell腳本備份

創建備份腳本

backup.sh

#!/bin/sh #$# 參數個數#提示說明if [ $# -lt 3 ]; thenecho "=============================================="echo "Usage:   $0 ( commands ... )" echo "commands:" echo "example:" echo " > $0 bakDir bakAllName oriDirOrFile" echo " bakDir:備份文件件" echo " bakAllName:完整備份的名稱" echo " oriDirOrFile:源文件或者文件夾"echo "==============================================" exit -1fi#將參數賦值給變量 = 兩邊不能有空格bakdir="$1"bakName="$2"bakAllName="$2.tar.gz"oriDirOrFile="$3"#保存天數 默認7天超過指定天數重新 全量備份if [ -n $4 ];then  bakDays=7else  bakDays=$4fiecho $bakAllNameecho $bakdir#判斷全量備份文件是否存在if [ ! -f "$bakdir$bakAllName" ];then  #如果沒有全量備份份文件  echo "--------all-bak---------"  bakdir=$bakdir$bakAllName  zl=""else  #已經備份了全量  #獲取全量備份的時間  bakAllDate="`ls --full-time $bakdir$bakAllName |cut -d ' ' -f 6`"  #獲取當前時間  nowDate=`date "+%Y-%m-%d"`  #算出時間差單位是秒  senconds=$(($(date +%s -d $nowDate) - $(date +%s -d $bakAllDate)));  #計算出天  day=$(($senconds/60/60/24))  #增量備份但是超過備份時間需要跟新全量的備份  if [ $day -gt $bakDays ];then    echo "備份時間已經超過備份周期了"    bakdir=$bakdir$bakAllName  else    echo "還沒超過備份周期"    echo " temp-bak"      #增量備份文件地址      tempDir="$bakdir$bakName`date '+%m-%d'`.tar.gz"      #獲取全量備份文件的日期      compareDate="`ls --full-time $bakdir$bakAllName |cut -d ' ' -f 6`"      echo "$compareDate"      #獲取全量備份文件的時間      compareTime="`ls --full-time $bakdir$bakAllName |cut -d ' ' -f 7`"      echo "$comcompareTime"      #shell 格式轉換成yyyy-MM-dd HH:mm:ss      compareTime=`date -d $compareTime "+%F %T"`      echo "$compareTime"      #差量備份比較時間基準      zl="-N "$compareTime""      bakdir=$tempDir  fifiecho "--------start-bak---------"echo $zlecho "$bakdir"#使用tar差量打壓縮包tar "$zl" -czvf $bakdir $oriDirOrFile

創建任務調度

創建可執行文件

touch execBakUp.shchmod u+xrw execBakUp.sh

添加內容

  • sh backup.sh /opt/bak/ tomcatTest /home/oriDir 5
  • /opt/bak/:你的備份需要放置的位置
  • tomcatTest:你的備份名稱
  • /home/oriDir:需要備份的文件夾
  • 5:備份周期

編輯任務調度
crontab -e
秒 時 日 月 周
0 02 * * * sh /opt/execBakUp.sh >> $(date "+%Y-%m-%d".log)
每天凌晨 2點 執行execBakUp.sh

說明

參數說明:

  • $#:添加的參數個數。
  • $1~$n:添加到Shell的各參數值
  • $0:Shell本身的文件名
  • $*和$@:傳遞給腳本或函數的所有參數。

增量備份:

tar -cvzf text.tar.gz /bak -N i_time

i_time是時間點

獲取文件時間:

ls --full-time $bakdir$bakAllName |cut -d ' ' -f 6
  • ls --full-time text.txt:顯示文件完整時間
  • cut -d ' ' -f 6空格分隔 顯示第6列

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99精品视频在线看 | 日本在线视频免费观看 | 久久综合网址 | 黑人三级毛片 | v天堂在线视频 | 欧美国产精品久久 | 久久99精品久久久久久秒播放器 | 久久久久久久免费视频 | 久久国产精品区 | 在线观看国产网站 | 日韩一级片 | 久久国产成人精品国产成人亚洲 | 91女上位 在线播放 性欧美日本 | 久久99综合久久爱伊人 | xxxxhd73国产 | 亚洲一区二区观看播放 | 片在线观看 | 污版视频在线观看 | 视频一区二区三区免费观看 | 成人三级黄色片 | 福利免费在线观看 | 欧美成人午夜影院 | 激情欧美在线 | 欧美一级黄色片免费观看 | 国产一级毛片国产 | 蜜桃久久一区二区三区 | 丰满年轻岳中文字幕一区二区 | 久久综合婷婷香五月 | 牛牛视频在线 | 黄色羞羞| 羞羞电影网| 久久我不卡| 久久99国产精品久久 | 狠狠干视频网站 | 久久久精品网 | 欧美日本一 | h视频免费看 | 国产成人高潮免费观看精品 | 91成人免费在线观看 | 久久久婷婷一区二区三区不卡 | 小情侣嗯啊哦视频www |