今回はrsyncコマンドを用いて、サーバーのデータ移行をするときに移動したいファイルを間違えてしまったのでメモをする。
rsyncコマンドは、ソース元のデータをソース先に同期をしてくれるコマンド。
ソース元のデータがソース先にある場合はスキップし、 ソース先にない場合、ソース先に対象のデータを追加してくれるから非常に使い勝手のいいコマンド。
ただし、仕様上パスを間違えてしまうと、関係のないソース先に余計なファイルがたくさん同期されることがあるから注意すること。
今回自分は、ソース元のディレクトリ以下のファイルをソース先のディレクトリ以下に同期をする予定だったものの、ソース先のディレクトリ以下にソース元のディレクトリごと同期させてしまった。
例えば、ディレクトリhogeとディレクトリhoge2があったとき
rsync -av /root/hoge /root/hoge2/
このようにすると、/root/hoge2/hoge といった結果となる。
もし、ディレクトリ以下の中身を同期させたい場合は
rsync -av /root/hoge/ /root/hoge2/
とソース元を /root/hoge
から /root/hoge/
とスラッシュを追加しなければならない。
ちなみに mv コマンドの場合は、
mv /root/hoge/* /root/hoge2/
とアスタリスクをつけないといけないから注意する。