我有一个小问题。
我想将 /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
但它也不起作用:/
谁能帮我?
答案1
简单的解决方案似乎是使用 tar 来排除一个文件夹:
tar --exclude=./backups/ -cvvzf $ftp-$datum.tar.gz *
这应该很简单。
我发现在我的系统上 --exclude 必须紧跟在 tar 命令之后。