備忘録 不要ファイルの圧縮を伴う退避 (Linux) #2

[実施方法]

  • 下記、スクリプトを実行

[使用状況]

  • 指定した容量以上のファイルAに対し、圧縮を伴う退避を実施したい
  • 指定したファイルBに対し、圧縮を伴う退避を実施したい

[具体的処理]

  • ファイルAが指定容量より大きい場合に、ファイルAを格納先ディレクトリへ移動する
  • ファイルBが存在する場合に、ファイルBを格納先ディレクトリへ移動し圧縮する
  • 移動対象ファイルが存在するディレクトリが存在しない場合は、何もせず処理を終了する
  • 条件に合ったファイルが存在しない場合は、そのまま何もせず処理を終了する
  • 格納先ディレクトリには、「_YYMMDD」が付与される

[記載名称説明]

  • 移動対象ファイルが存在するディレクトリを「ディレクトリA」とする
  • 指定容量より大きいか判定するファイルを「ファイルA」とする
  • 存在するか判定するファイルを「ファイルB」とする
  • 格納先ディレクトリを「ディレクトリB」とする
  • 格納先ディレクトリが存在するディレクトリを「ディレクトリC」とする

[スクリプト]

  1. SOURCE
  2. #/bin/bash
    DATE=`date ‘+%Y%m%d’`
    ## Check of the directory.
    if test -d ディレクトリA ; then
    cd ディレクトリA
    else
    exit
    fi
    ## Moving a file.
    DUSK=`du -sk ファイルA | cut -f 1`
    if test $DUSK -gt 判定容量 -a -f ファイルB ; then
    mkdir ディレクトリB_$DATE
    mv ファイルA ファイルB ディレクトリB_$DATE && cd ディレクトリC
    tar cfjv ディレクトリB_$DATE.tar.bz2 ディレクトリB_$DATE
    rm -rf ディレクトリB_$DATE
    exit
    elif test $DUSK -gt 判定する容量 ; then
    mkdir ディレクトリB_$DATE
    mv ファイルA ディレクトリB_$DATE && cd ディレクトリC
    tar cfjv ディレクトリB_$DATE.tar.bz2 ディレクトリB_$DATE
    rm -rf ディレクトリB_$DATE
    exit
    elif test -f ファイルB ; then
    mkdir ディレクトリB_$DATE
    mv ファイルB ディレクトリB_$DATE && cd ディレクトリC
    tar cfjv ディレクトリB_$DATE.tar.bz2 ディレクトリB_$DATE
    rm -rf ディレクトリB_$DATE
    else
    exit
    fi




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

CAPTCHA