A alteração de #!/bin/sh
para #!/bin/bash
no script corrigiu esse problema. A expansão de chaves usadas no script é um recurso bash
e, como tal, não está disponível em sh
.
Estou usando o rsync no Ubuntu 12.04 LTS com o seguinte script para fazer o backup de todo o /
, no entanto, sempre que executo o script (como root), o diretório /backup
é incluído , quando deve ser excluído :
#!/bin/sh
rsync --password-file=/etc/rsyncd.password --delete -aAXzv --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/*/.gvfs,/home/*/Downloads/*,/backup/*,/var/spool/squid3,/opt/atlassian,var/www/\~*} /* fsbak@servername::fsbak
Por que isso está acontecendo e como posso fazer o rsync ignorar /backup
?
Tags backup rsync ubuntu-12.04 exclude script