在shell脚本中模仿rsync命令行为

时间:2013-02-24 18:11:09

标签: shell escaping sh rsync

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

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

一切正常,正如预期的那样[IE仅支持我的dotfiles和dot目录]。

但是当我在其中运行带有此行的shell脚本时,rsync行为异常并且反复结束并递归地备份所有内容和我的dotfiles。所以我最终得到了这样的备份:

/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/

0 个答案:

没有答案