Pertanyaan rsync tidak benar-benar menyalin file


Saya mencoba menyinkronkan direktori file besar dari server saya ke kotak lokal. (Keduanya menjalankan Ubuntu.) Saya punya perintah itu terlihat seperti berfungsi, tetapi file tertentu tidak disalin:

phrogz@planar:~$ cat ./sync-phrogz-public 
rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net/public

phrogz@planar:~$ ./sync-phrogz-public 
Number of files: 10320
Number of files transferred: 0
Total file size: 4221864770 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 197778
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 388
Total bytes received: 199213

sent 388 bytes  received 199213 bytes  79840.40 bytes/sec
total size is 4221864770  speedup is 21151.52

phrogz@planar:~$ la /var/www/phrogz.net/public/svg/convert*
-rw-r----- 1 phrogz www-admin 6404 2011-02-26 21:49 /var/www/phrogz.net/public/svg/convert_path_to_polygon.xhtml

phrogz@planar:~$ ssh 69.46.18.236 'ls -Fla /var/www/phrogz.net/public/svg/convert*'
-rw-r--r-- 1 phrogz phrogz 1951 2011-12-04 09:07 /var/www/phrogz.net/public/svg/convert_matrix.html
-rw-r--r-- 1 phrogz phrogz 6404 2011-02-26 21:49 /var/www/phrogz.net/public/svg/convert_path_to_polygon.xhtml

Seperti yang Anda lihat, file convert_matrix.html tidak disalin.

  1. Apa perintah yang dilakukan, jika tidak benar-benar menyalin file?
  2. Bagaimana cara mendapatkannya untuk benar-benar menyalin file?

10
2017-12-04 18:05


asal


Ini secara kebetulan menyajikan folder lokal /var/www/phrogz.net/public/public ? - enzotib
Whoa, ya, ada! Posting itu sebagai jawaban, dan beri tahu saya cara mengubah perintah agar tidak dibuat public sebagai subfolder, dan Anda punya sendiri 25 rep :) - Phrogz
Hapus "publik" terakhir dari skrip Anda, jadi ini menjadi: rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net - harus melakukannya. - Caesium


Jawaban:


Anda bisa menyederhanakan perintah Anda

rsync -az --stats 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net/

atau alternatifnya

rsync -az --stats 69.46.18.236:/var/www/phrogz.net/public/ /var/www/phrogz.net/public

Seperti yang kamu lihat, rsync menafsirkan sumber yang berbeda dengan atau tanpa trailing /.

Juga, -a setara dengan -rtplogD, (sehubungan dengan baris perintah Anda, -a juga menambahkan -o, lindungi pemilik, -g, pertahankan grup dan -D, pertahankan perangkat dan file khusus).

Akhirnya, itu --rsh opsi redundan ketika sumber atau tujuan ada dalam formulir host:/path, dengan satu :.


14
2017-12-04 21:14