我有一个小问题。
我想将/ etc / nginx / html /中的所有文件夹(存在网站文件夹)压缩到/ etc / nginx / html / backups /中
现在您将看到:文件夹“ backups”与“ Website1”和“ Website2”位于同一文件夹中,我不想压缩文件夹“ backups”
我尝试这样:
cd $PATH_TO_WEBFOLDER
folders=`for i in $(ls -d */ | grep -Ev "(backups)"); do echo ${i%%/}; done`
for ftp in $folders; do
tar -cvvzf $ftp-$datum.tar.gz *
done
但是它确实起作用。然后我试试这个:
PATH_TO_WEBFOLDER="/etc/nginx/html"
datum=$(date +"%d-%m-%Y")
BACKUP_PATH="/etc/nginx/html/backups/$datum"
# make absolute and add dir
backup_path="$(readlink -f "$backup_path")/FTPBACKUP"
cd $PATH_TO_WEBFOLDER
for d in */; do
d="${d%/}" # strip trailing slash
if [ -n "${d##*(backup)*}" ]; then
tar cvvzf "$backup_path/$d-$datum.tgz" "$d"
fi
done
但这也行不通:/
谁能帮我?
简单的解决方案似乎是使用tar排除文件夹:
tar --exclude=./backups/ -cvvzf $ftp-$datum.tar.gz *
这应该很简单。
我在系统上发现--exclude必须在tar命令之后。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句