私はすべてのディレクトリをtarする例を見つけましたが、同じディレクトリに保存します。
通常のファイル構造とは異なるディレクトリにtarを保存したいと思います。
これまでのようなものがありますが、basename
私が所有しているディレクトリの名前が切り捨てられました。たとえば、一部のディレクトリはwww.example.comで、最終的にはwww.tar.gzになります。
WEBROOT="var/www"
BAKPATH="/var/backups/"
for vhost in $WEBROOT; do
base=$(basename "$vhost")
tar -czf $BAKPATH/"`date +%Y-%m-%d`_${base}.tar.gz" "$vhost"
done
ベストアンサー1
/*
それ以降は欠落しており、さらに欠落している可能性が$WEBROOT
あります。cd
for vhost in "$WEBROOT"/*/; do
base=$(basename "$vhost")
( cd "$WEBROOT" && tar -czf "$BAKPATH/$(date +%F)_$base.tar.gz" "$base" )
done
次に、ディレクトリのみが一致していることを/
確認してください。"$WEBROOT/*
これにより、その中にアーカイブが作成され、最上位ディレクトリに$BAKPATH
なります。$base
以下はほぼ同じです。
find "$WEBROOT" -mindepth 1 -maxdepth 1 -type d \
-execdir tar -czf "$BAKPATH/$(date +%F)"_{}.tar.gz {} \;