データをバックアップするには、次のrsyncコマンドを実行します。 Ubuntu 12.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にいくつかのオプションを追加する必要がありますか?何を提案しても、理由を提示し、関連するコマンドを提供してください。
答え1
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##/*}" -- "$@"' _ {} +