やりたいこと
rsync がインストールされていないサーバからオーナーやパーミッションなどの属性を保持したままコンテンツなどのファイルをコピーする。
しかし、別の環境からrsyncコマンドで引っ張ってこようと思っても、コピー元のファイル郡が置いてあるサーバにrsyncコマンドがインストールされていないと、rsyncでファイル群を持ってこれない。
リモート先にrsyncがインストールされていない為。
※送り元、送り先の両方にインストールが必要!
結論
cpコマンドのオプション
-p
を使えば良い。
また、別のサーバにコピーするときは、tarコマンドでオプション
-p
を使って圧縮すれば良い。[R]
具体的なやり方
/var/www/html/
配下のファイル群を、
- オーナー
- グループ
- パーミッション
などの属性情報を保持したままコピーするには、
まず、/tmp/ などのフォルダに一式コピーする。このとき、cpコマンドのオプション「-p」を忘れずに。
cp -Rp /var/www/html /tmp/.
↓
コピーが終わったら、圧縮する。↓↓
tar Jcfp html.tar.xz /tmp/html/*
↓
別のサーバからsftpやscpコマンド(scpコマンドはあまり推奨されていない)などを使って、ファイル「html.tar.xz」を取得する。
↓
解凍(展開)するときも、tarコマンドのオプション
-p
を忘れずに。
tar xfpv html.tar.xz
コメント