背景:
ci構建下來的備份應用包在伺服器上保留幾十個,空間占用大,看著不好看,可能還用不著,所以準備正好練練手吧!
其實ci上可以設定少保留幾個,但是我沒管。我只是想練練指令碼
先來看一下我的伺服器源目錄的資料夾放置:44個挺多的
我想要的結果:
**不長,但是shell我用的手生。語法都是靠查靠找。實在艱辛才湊起來的
整體思路:
1、找出符合日期的關鍵字的資料夾
2、移動1找出來的資料夾,然後壓縮
這裡我用了自定義輸入時間的邊界來迴圈執行,使所有時間都可以兼顧得到。
#!/bin/bash
#這一批按日期打包mrobot_xsp_0601_1910
#需要處理的檔案所在目錄
#zip包存放目錄
#判斷源檔案目錄是否為空
if test ! -d $from_file
then
mkdir -p $from_file
fi#判斷zip存放目錄是否為空
if test ! -d $to_zip
then
mkdir -p $to_zipfi
#從命令入參獲取開始時間和結束時間
start_date=$1
end_date=$2
#查詢開始獲取start_date關鍵字名稱的資料夾
while [ $start_date -le $end_date ]
do #filelist=$(ls $from_file/* |grep "$")
filelist=$(ls -l $from_file |awk '/^d/ '|grep "$")
len=$
if test $len -gt 0;then
mkdir -p $to_zip/$start_date
#有此種需要備份的目錄,進行陣列for迴圈,把資料夾拷貝到bak裡面,並進行歸類壓縮
for filename in $
doif test -s $from_file/$filename ;then
cp -rp $from_file/$filename $to_zip/$start_date
rm -rf $from_file/$filename
fidone
zip -rqm $to_zip/$.zip $to_zip/$
fi#start_date+1還得繼續
start_date=$(date -d "2018$start_date+1days" +%m%d)
done
shell 整理目錄下的備份檔案並生成壓縮包
背景 ci構建下來的備份應用包在伺服器上保留幾十個,空間占用大,看著不好看,可能還用不著,所以準備正好練練手吧!其實ci上可以設定少保留幾個,但是我沒管。我只是想練練指令碼 先來看一下我的伺服器源目錄的資料夾放置 44個挺多的 再來看一下我的結果 不長,但是shell我用的手生。語法都是靠查靠找。實...
Python備份檔案到指定目錄下
python備份檔案到指定目錄下 usr bin python filename backup ver1.py import os import time source r c python 目標目錄 target dir d python 指定目錄 target target dir time.s...
shell備份,重新命名,刪除目錄下面的檔案
因為經常會用到shell指令碼,所以經常會寫一些,但是我從來沒有系統的學習過shell指令碼,遇到問題,就去看手冊,或者google一下,到了一定的程度才發現自己的基礎真的好差。下面在系統學習shell時,順便寫了點有用的小指令碼。1,備份目錄下面檔案 bin bash e badargs 65 c...