Su comando no funcionaba porque cuando lo usaba /var/www/*como fuente, su shell realizaba un bloqueo global, es decir, la shell se expandía *a todos los archivos en ese directorio y copiaba los archivos uno por uno, por lo que aquí los archivos individuales se han convertido en las fuentes en lugar de el directorio padre
Entonces, si lo usa /var/www/*, entonces no necesita la --recursiveopción, ya que *hará que los archivos se copien (junto con cualquier directorio con su contenido), no el directorio principal que contiene los archivos. Debido a la misma razón --deleteno funciona, ya --deleteque eliminará los archivos del directorio de destino que no están en el directorio de origen , pero está copiando archivos para que no se eliminen los archivos (se espera).
Esto te hará más claro:
/foo$ ls -l
-rw-rw-r-- 1 user user 0 Apr 16 17:56 egg
-rw-rw-r-- 1 user user 0 Apr 16 17:56 spam
drwxrwxr-x 2 user user 4096 Apr 16 18:14 test
/bar$ ls -l
-rw-rw-r-- 1 user user 0 Apr 16 17:56 egg
-rw-rw-r-- 1 user user 0 Apr 16 18:13 lion
-rw-rw-r-- 1 user user 0 Apr 16 17:56 spam
$ rsync -avz --ignore-existing --recursive --delete
/foo/* /bar/
+ rsync -avz --ignore-existing --recursive --delete
/foo/egg /foo/spam /foo/test /bar/
sending incremental file list
test/
test/hello
sent 173 bytes received 39 bytes 424.00 bytes/sec
total size is 0 speedup is 0.00
/bar$ ls -l
-rw-rw-r-- 1 user user 0 Apr 16 17:56 egg
-rw-rw-r-- 1 user user 0 Apr 16 18:13 lion
-rw-rw-r-- 1 user user 0 Apr 16 17:56 spam
drwxrwxr-x 2 user user 4096 Apr 16 18:14 test
Como puede ver, he usado la fuente, /foo/*por lo tanto, el rsynccomando que se ejecuta es
rsync -avz --ignore-existing --recursive --delete /foo/egg
/foo/spam /foo/test /bar/
con *hacer shell para expandirlo y crear todos los archivos individualmente como argumentos de origen, no el directorio padre en su conjunto (y tampoco es necesario --recursiveen este caso).
Entonces, si quieres hacer el --deletetrabajo, ejecútalo como:
rsync -avz --ignore-existing --recursive --delete
/var/www/ root@mydomaintest.com:/var/www/