Я должен транспортировать много файлов от одного ПК до другого (оба Linux). Я хотел бы использовать scp
для этого, но scp
только допускает передачу одного файла за один раз.
Как я могу сделать это?
Я имею
Если возможно, я хотел бы к gzip и ungzip прозрачно сохранить пропускную способность!
Действительно ли это возможно?
Я хотел бы использовать scp для этого, но scp только допускает передачу одного файла за один раз.
Я вполне уверен, который не верен, по крайней мере, не для scp
команда, обеспеченная OpenSSH, включена с большинством дистрибутивов Linux.
Я использую scp file1 file2 ... fileN user@host:/destination/directory/
справедливо часто.
Для прозрачного сжатия протоколу SSH встроили это и scp
может использовать его, если Вы обеспечиваете -C
опция на командной строке. Для большого количества подобных маленьких файлов Вы найдете, что tar+gz опция, предложенная akira, получает лучшее сжатие, поскольку это может использовать подобие между такими файлами где scp
сжатия каждый файл как отдельный объект. Я обычно предпочитаю использовать scp хотя, поскольку легче возобновить частичную передачу (или, хотя я знаю в этой ситуации, у корреспондента нет опции), rsync
поскольку это и еще легче возобновить и совместно использует преимущество сжатия целого потока tar+gz опции.
Не делает scp -r yourdir otherhost:/otherdir
работа?
Попробуйте это затем:
tar cfz - . | ssh otherhost "cd /mydir; tar xvzf -"
z
- флаг к tar делает сжатие. Или можно использовать-C для ssh:
tar cf - . | ssh -C otherhost "cd /mydir; tar xvf -"