Usando rsync com link-dest de HFS para NTFS

6

Estou com um problema no rsync.

Estou num Mac e gostaria de sincronizar as alterações do meu dia-a-dia da minha partição HFS + para a minha unidade de rede formatada NTFS.

Bastante simples, e tudo corre bem, exceto que sincroniza todos os arquivos a cada vez.

Aqui está meu script:

#! /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

Alguém poderia me ajudar por favor? Eu tenho procurado por duas horas e eu ainda estou sem noção.

Muito obrigado.

    
por TomShreds 20.07.2010 / 15:35

2 respostas

7

-a implica que os direitos que podem não ser traduzidos corretamente para o NTFS devem ser copiados e correspondidos. Eu uso apenas -rltD . -a implica -rlptgoD .

Nota: Eu uso o rsync do linux com o EXT4, e não sei como o HFS se compara ao NTFS.

Aqui está um script completo que eu uso para fazer backup de algumas das minhas pastas em um disco USB removível. Isso funciona bem no 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!

Exemplo de saída de uma execução:

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!
    
por 31.07.2010 / 13:47
0

Uma coisa simples para verificar se me picou mais de uma vez: certifique-se de que os relógios do sistema nos dois computadores estão configurados para a mesma hora.

    
por 02.08.2010 / 07:19

Tags