備忘録 不要ファイルの圧縮を伴う退避 (Linux) #2
[実施方法]
- 下記、スクリプトを実行
[使用状況]
- 指定した容量以上のファイルAに対し、圧縮を伴う退避を実施したい
- 指定したファイルBに対し、圧縮を伴う退避を実施したい
[具体的処理]
- ファイルAが指定容量より大きい場合に、ファイルAを格納先ディレクトリへ移動する
- ファイルBが存在する場合に、ファイルBを格納先ディレクトリへ移動し圧縮する
- 移動対象ファイルが存在するディレクトリが存在しない場合は、何もせず処理を終了する
- 条件に合ったファイルが存在しない場合は、そのまま何もせず処理を終了する
- 格納先ディレクトリには、「_YYMMDD」が付与される
[記載名称説明]
- 移動対象ファイルが存在するディレクトリを「ディレクトリA」とする
- 指定容量より大きいか判定するファイルを「ファイルA」とする
- 存在するか判定するファイルを「ファイルB」とする
- 格納先ディレクトリを「ディレクトリB」とする
- 格納先ディレクトリが存在するディレクトリを「ディレクトリC」とする
[スクリプト]
- SOURCE
#/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
コメントを残す