У меня есть проблема с rsync.
Я нахожусь на Mac, и я хотел бы синхронизировать изменения своего everyday от моего HFS +, раздел к моему NTFS форматировал сетевой диск.
Довольно простой, и все подходит за исключением того, что это синхронизирует каждый файл каждый времена.
Вот мой сценарий:
#! /bin/sh
snapshot_dir=/Volumes/USB_Storage/Backups
snapshot_id=`date +%Y%m%d%H%M`
/usr/bin/rsync -a \
--verbose \
--delete --delete-excluded \
--human-readable --progress \
--one-file-system \
--partial \
--modify-window=1 \
--exclude-from=.backup_excludes \
--link-dest ../current \
/Users/tommybergeron/Desktop/Brainpad \
$snapshot_dir/in-progress
cd $snapshot_dir
rm -rf $snapshot_id
mv in-progress $snapshot_id
rm -f current
ln -s $snapshot_id $snapshot_dir/current
Кто-то мог выручить меня? Я искал как два часа, и я все еще невежествен.
Большое спасибо.
-a
подразумевает, что права, которые не могут перевести правильно в NTFS, состоят в том, чтобы быть скопированы и подобраны. Я использую только -rltD
. -a
подразумевает -rlptgoD
.
Примечание: Я использую rsync из Linux с EXT4, и я не знаю, как HFS выдерживает сравнение с NTFS.
Вот полный сценарий, который я использую для резервного копирования некоторых моих папок к съемному диску USB. Это хорошо работает в Ubuntu 10.4
#!/bin/bash
# Rotated backup from EXT4 to removable NTFS-disc using rsync.
# Four generations are saved and automatically purged each run.
# Generations: current, backups/old, backups/older, backups/oldest.
# This script is stored on and run from the root of the removable disc
# where the backups are stored. Destination paths in the rsync commands
# are relative to current working directory below.
# Purge oldest backup
rm -rf backups/oldest
# Prepare recieving folder.
mkdir inprogress
# Grab new contents. Use rsync to create hard links to files already backed up on media.
# Note: --link-dest is set relative to dest.
# Note: Since we copy from EXT4 to NTFS we can't use -a. Rights are different in NTFS.
# If we tried then rsync would copy every file, since rights don't match.
# I use -rltD instead of -a. Care must be taken when restoring files!
echo "Backup of Musik is updated with changes since last backup"
rsync -rltD --verbose --modify-window=1 --delete \
--link-dest=../../current/Musik \
/home/anders/Musik/ \
inprogress/Musik
echo "Backup of tv is updated with changes since last backup"
rsync -rltD --verbose --modify-window=1 --delete \
--link-dest=../../current/tv \
/home/anders/Video/tv/ \
inprogress/tv
echo "Backup of Calibre Library is updated with changes since last backup"
rsync -rltD --verbose --modify-window=1 --delete \
--link-dest="../../current/Calibre Library" \
"/home/anders/Calibre Library/" \
"inprogress/Calibre Library"
# Rotate the backups
# mkdir backups (only needed first run)
mv backups/older backups/oldest
mv backups/old backups/older
mv current backups/old
mv inprogress current
echo Done!
Демонстрационный вывод от выполнения:
anders@anders-desktop:/media/Samsung S2$ ./refresh.sh
Backup of Musik is updated with changes since last backup
sending incremental file list
./
Artists/
Various Artists/
sent 1787165 bytes received 3256 bytes 102309.77 bytes/sec
total size is 230838013393 speedup is 128929.46
Backup of tv is updated with changes since last backup
sending incremental file list
./
sent 7558 bytes received 35 bytes 5062.00 bytes/sec
total size is 64808873338 speedup is 8535344.84
Backup of Calibre Library is updated with changes since last backup
sending incremental file list
./
sent 227427 bytes received 1883 bytes 91724.00 bytes/sec
total size is 825094709 speedup is 3598.16
Done!
Простая вещь проверить это укусила меня несколько раз: удостоверьтесь, что системные часы в обоих компьютерах установлены на то же время.