こんにちは、lisです!
ディレクトリのみ圧縮→削除するシェルスクリプトです!
ソース
#!/bin/bash dist=${HOME}/target/directory cd ${dist} for target in `ls -d */ | sed -e "s/\///"`; do # ディレクトリのみ圧縮→削除する GZIP=-9 tar zcvf ${target}.tar.gz ${target} rm -rf ${target} done
やっていることは下記のような感じ。
- distに設定されたディレクトリに移動
- 対象ディレクトリ内の全ディレクトリ分ループ
- ディレクトリを圧縮して
*.tar.gz
を作成 - 圧縮元のディレクトリを削除する
- ディレクトリを圧縮して
固定箇所でこれを使って、cronで回したかっただけなのでパスが固定ですが、dist
を現在ディレクトリにしたり、引数からパスをもらったりすれば色々な場所でも使えます。
参考
コチラを参考にしました。ありがとうございました!
あとがき
ディレクトリのみ圧縮→削除するシェルスクリプトでした!
ブログを書く腰が重たい節があるので、簡単なものでもあげていけたらなと思ったりしている新年です。