[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:53896] Re: 新しいものだけコピーするには(まとめ)



安達です。
教えていただいたことをまとめます。
◆知りたかったこと
GNOMEデスクトップの標準GUIファイルマネージャであるNautilus
を使って、ファイル、またはフォルダごとドラッグアンドドロップで
コピーをしようとする時に、コピー先に同名ファイルが存在する場合
警告のダイアログが出る。
ダイアログには更新日時などの情報は表示されないこともあり
ひとつひとつ上書きするか否かを選択するの面倒である。
すべて上書きするという選択肢もあるが内容がおなじファイルも
コピーするため、無駄に時間がかかることがある。
(Nautilus のバージョンは2.28.4)

更新日時が新しいものだけをすばやくコピーする方法はないものだろうか

◆Nautilusではこの様な操作はできない様子。

◆他のGUIなツールでは
grsync       (WASHINOさんの紹介)
Midnight Commander(略称MC)(渡辺さんの紹介)
unison             (YamYasさんの紹介)

Nautilus は Samba、FTP、SSHなどを使って
サーバー上のファイルシステムにも同様な操作感でアクセスできるが、
これらのGUIツールがどうなっているかまだわからない。
どれもdebianのパッケージがあるので簡単に試すことができそうだ。
自分にしっくりくるかどうかは使い込まないとわからないので
時間をかけて試してみます。

◆CUIの方が便利な場合も考えられる
cp -Ru /src-dir/* /dest-dir/   (野村さんの紹介)
cp -aui とか                   (斉藤直彦さんの紹介)
rsync -avz -e ssh デレクトリー名 コピー先  (森本さんの紹介)

cp はマウントされているファイルシステム内のみ(だと思います)
 オプションを調べますと、
 -R  ディレクトリを再帰的にコピーし、
   一般のファイルでもなくディレクトリでもないものに対しては
      それに相応したコピーをする。
 -u, --update 修正時刻がコピー元と同じかより新しい場合、
   コピーを行わない。
 -i  コピー先に既に存在するファイルを上書きするかを
   問い合わせてくる。
  -a, --archive コピー先で、できる限り元のファイルの構成と
    属性を保持する。 -dpR と同じ
 -d, --no-dereference シンボリックリンクを
   シンボリックリンクとしてコピーする。
 -p, --preserve オリジナルファイルの所有者・グループ・
   アクセス権・最終修正時刻・最終アクセス時刻を保存する。
cp -dpRu か、cp -au が適当かと思います。

rsync はサーバー上のファイルシステムとの間でもできるが、
かなりたくさんのオプションを必要とするのでよく使う操作について
スクリプトを書く方がよいと思われます。


-- 
  安達 順一
  adachi@xxxxxxxxxxx
  http://seiai.ed.jp