1

我正在尝试编写我的第一个简短备份脚本。我正在使用“普通” sh。当我在命令行上发出以下命令时:

rsync /home/username/.* /home/username/backups

一切正常,正如预期的那样[仅备份我的点文件和点目录]。

但是,当我在其中运行带有这一行的 shell 脚本时,rsync 的行为很奇怪,并且会反复递归地备份所有内容和我的点文件。所以我最终得到了这样的备份:

/backups/dotfiles/backups/dotfiles/backups/dotfiles/    etc etc etc.

如何在这个 shell 脚本中使用“*”来使 rsync 的行为符合预期?

这是整个脚本:

#!/bin/sh

#Backup dotfiles
echo 'Backing up dotfiles...'
rsync -avzu --delete --progress --exclude='.wine' --max-size='100M' /home/slowmo/.* /home/slowmo/backups/dotfiles/

#Compress into single file
echo 'Compressing dotfiles...'
tar cvzf /home/slowmo/backups/dotfiles.tar.gz /home/slowmo/backups/dotfiles/
4

0 回答 0