次のrsyncコマンドを実行して、データをバックアップします。私はUbuntu12.04を使用しています。
rsync -rt --delete --links --exclude-from '/home/john/rsync-exclude.txt' /media/data/ server:/backup/data
データパーティションはNTFS形式であり、次のように/etc/fstab
を介してマウントされます。
UUID=371EB137049A5349 /media/data ntfs defaults,umask=007,uid=1000,gid=1000 0 0
ターゲットディスクは、ext4でフォーマットされたRAIDです。
ただし、一部のファイルのタイムスタンプが間違っているため、次のエラーメッセージが表示されます。
Time value of /media/data/20090513/090513_185507.jpg truncated on receiver.
Time value of /media/data/20090513/090513_194115.jpg truncated on receiver.
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]
ソースディスク上のファイルは次のようになります。
-rwxrwx--- 2 john 2.0M May 13 2009 090513_185357.jpg
-rwxrwx--- 2 john 1.5M May 13 2009 090513_185458.jpg
-rwxrwx--- 2 john 1.6M Jul 29 28617 090513_185507.jpg <---
-rwxrwx--- 2 john 1.8M May 13 2009 090513_185520.jpg
-rwxrwx--- 2 john 2.4M May 13 2009 090513_194047.jpg
-rwxrwx--- 2 john 2.2M May 13 2009 090513_194101.jpg
-rwxrwx--- 2 john 2.1M Jul 29 28617 090513_194115.jpg <---
-rwxrwx--- 2 john 2.4M May 13 2009 090513_194135.jpg
これは、ターゲットディスク上でファイルがどのように見えるかです。
-rwxr-x--- 1 root root 1863446 May 13 2009 090513_185357.jpg
-rwxr-x--- 1 root root 1863446 May 13 2009 090513_185458.jpg
-rwxr-x--- 1 root root 1573733 Aug 8 04:18 090513_185507.jpg <---
-rwxr-x--- 1 root root 1863446 May 13 2009 090513_185520.jpg
-rwxr-x--- 1 root root 2504805 May 13 2009 090513_194047.jpg
-rwxr-x--- 1 root root 2297826 May 13 2009 090513_194101.jpg
-rwxr-x--- 1 root root 2147897 Aug 8 04:18 090513_194115.jpg <---
-rwxr-x--- 1 root root 2455909 May 13 2009 090513_194135.jpg
ファイルのタイムスタンプを修正する必要がありますか、それともrsyncにオプションを追加する必要がありますか?あなたが推薦するものは何でも、理由を与えて、そうするために関連するコマンドを提供してください。
28617のその日付は明らかに間違っており、それを修正する理由だけです。さらに、それは、普遍的にサポートされている日付の範囲である1970〜2038の範囲外です。特に、ext4(1901〜2514)でサポートされている範囲外です。そのため、どのツールを使用しても、その日付をターゲットシステムに保存することはできません。
ファイルを今日の日付に設定できます。
touch 090513_185507.jpg 090513_194115.jpg
または、おそらく同じ時期に作成された他のファイルの日付まで:
touch -r 090513_185458.jpg 090513_185507.jpg 090513_194115.jpg
遠い将来の日付を持つファイルが多数ある場合、それらはすべて、名前が日付を表すディレクトリにあります。
find /media/data -mtime --1 -execdir sh -c 'touch -d "${PWD##/*}" -- "$@"' _ {} +