256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

ローカルディスクの容量が無いけどtarアーカイブを作りたい時に

このディスクの/usr/local以下バックアップしたいんだけど、もうローカルディスクの容量が無い。
てか、ローカルディスクの容量が無いから移したいんだよ!って言う卵が先か鶏が先か理論の時の話。


tarアーカイブを直接標準出力してnetcatでリモートホストで保存する方法。


こういうのも書いといたほうが誰かの役に立つであろうとメモ書き!

netcatとは

ファイルの内容を標準出力させたり、パイプ経由してファイル書きだしたりするのに使うcatコマンドがありますが、それをTCP,UDP経由で行えるようにするコマンドがnetcat(nc)です。

netcat 待ち受け側(リモートホスト

$ nc -l 12345 > /tmp/send.tgz

で12345ポートで待ち受け。
ここに送信されてきたデータを/tmp/send.tgzへリダイレクトする。

netcat 送信側(ローカルホスト)

$ tar zcvf - . | nc -w 1 192.168.0.10 12345

で . 以下のアーカイブを作成しつつリモートホスト(192.168.0.10:12345)へ送信送信。

ほら

できた。

$ tar ztvf /tmp/send.tgz | head 
drwxr-xr-x kuwano/kuwano     0 2012-02-20 20:40 ./
-rwxr-xr-x kuwano/kuwano   278 2011-05-19 17:23 ./hosts_add.sh
-rw-r--r-- kuwano/kuwano  2897 2010-07-29 18:25 ./oauth-python-twitter-1.0.tar.gz
-rw-r--r-- kuwano/kuwano  1768 2011-05-31 01:18 ./munin_link.sh
-rw-r--r-- kuwano/kuwano 63648 2011-05-09 00:41 ./python-twitter-0.8.2.tar.gz
-rw-r--r-- kuwano/kuwano   672 2011-05-23 00:08 ./twitter_test01.py
-rw-r--r-- kuwano/kuwano   884 2011-05-23 01:45 ./README.txt
-rw-r--r-- kuwano/kuwano  1008 2011-05-25 02:55 ./twitter_test03.py
-rwxr-xr-x kuwano/kuwano 84394 2010-11-22 04:48 ./ppss

[番外編]sshでの転送

netcatとかめんどくせーよ!って人のためにssh版。

$ tar zcvf - . | ssh kuwano@192.168.0.10 "cat - > /tmp/send.tgz"

パスワード入れるのがめんどくせーよ!は、もうおかあさんしりません。


LinuxサーバHacks―プロが使うテクニック&ツール100選

LinuxサーバHacks―プロが使うテクニック&ツール100選


[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)