Este backup é diário e está no diretório inicial de um usuário específico?

0

A partir do link , há dois backups no exemplo a seguir, em que o primeiro backup é feito por find e cp e o segundo por rsync . Minha pergunta é sobre o primeiro backup.

I use rsync to backup my wifes home directory across a modem link each night. The cron job looks like this

#!/bin/sh
cd ~susan
{
echo
date
dest=~/backup/'date +%A'
mkdir $dest.new
find . -xdev -type f \( -mtime 0 -or -mtime 1 \) -exec cp -aPv "{}"
$dest.new \;
cnt='find $dest.new -type f | wc -l'
if [ $cnt -gt 0 ]; then
  rm -rf $dest
  mv $dest.new $dest
fi
rm -rf $dest.new
rsync -Cavze ssh . samba:backup
} >> ~/backup/backup.log 2>&1

note that most of this script isn't anything to do with rsync, it just creates a daily backup of Susans work in a ~susan/backup/ directory so she can retrieve any version from the last week.

The last line does the rsync of her directory across the modem link to the host samba. Note that I am using the -C option which allows me to add entries to .cvsignore for stuff that doesn't need to be backed up.

Minhas perguntas são

  1. Está "em um diretório ~ susan / backup /" especificado por 'dest = ~ / backup / date +%A '? O ~ em dest significa o diretório inicial do usuário que executa o script, que pode não ser Susan, portanto ~ pode não significar ~susan ?

  2. É "um backup diário" especificado por \( -mtime 0 -or -mtime 1 \) ? O \( -mtime 0 -or -mtime 1 \) significa que os arquivos foram modificados nas últimas 48 horas, em vez das últimas 24 horas?

Obrigado.

    
por Tim 13.02.2017 / 06:14

1 resposta

1

Is "in a ~susan/backup/ directory" specified by 'dest=~/backup/date +%A'?

Sim, você está certo, a implementação não corresponde exatamente à especificação.

Does ~ in dest mean the home directory of the user who runs the script, who might not be Susan so ~ might not mean ~susan?

Sim. Mas o script precisa ser executado como susan ou root para ter certeza de acessar todos os arquivos de Susan. Presume-se que seja dirigido por Susan (ou cron agindo por ela).

Is "a daily backup" specified by ( -mtime 0 -or -mtime 1 )?

Eu consideraria "diário" a ser determinado pelo que já está executando o script, presumivelmente cron (ou hoje em dia, um temporizador systemd).

Does ( -mtime 0 -or -mtime 1 ) mean files modified within the past 48 hours, instead of the past 24 hours?

Sim. -mtime 0 significa "cujo registro de data e hora de modificação comparado a agora, arredondado para a 24h mais próxima, é 0 × 24h", e também para -mtime 1 , portanto encontra tudo modificado nas últimas 48h (bem menos de 48h). Você precisa disso para obter um total de 24 horas de alterações, levando em conta as variações de horário de início dos trabalhos diários.

    
por 13.02.2017 / 06:47

Tags