shell 整理目錄下的備份檔案並生成壓縮包

2021-08-22 11:49:01 字數 1451 閱讀 8734

背景:

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...