ライブラリなどが含まれた大量のファイル群ををscpやrsyncを使わずにsshとtarでアップロードする方法

ライブラリなどが含まれた大量のファイル群ををscpやrsyncを使わずにsshとtarでアップロードする方法

私は普段rsyncのscpを使っていましたが便利だったのでメモします。

~/some_file_folder に転送する場合

tar -cf - some_file_folder | ssh server 'tar -xf - '

/var/www/some_file_folder に転送する場合

tar -cf - some_file_folder | ssh server 'tar -xf - -C /var/www'

圧縮する場合

tar -czf - some_file_folder | ssh dest.server 'tar -xzf - -C /var/www'

CPU暗号を使う場合

tar -cf - some_file_folder | ssh -c arcfour dest.server 'tar -xf - '

大きなファイルを含む際にはパイプを使うのでメモリを使うかも知れません。 アップロードする前にディレクトリサイズを確認しておきましょう。

du -sh  some_file_folder

https://serverfault.com/a/326508