A melhor maneira de fazer backup de milhões de ativos? mudando semanalmente (adicionando apenas) usando Bash Script?

1

Atualmente, estou configurando um site que inclui um CMS com milhões de ativos. Imagens menores e maiores principalmente. Eu gostaria de fazer backup desses arquivos regularmente. Por exemplo semanalmente. Eu tenho um FTP montado na minha máquina para o qual eu posso copiar. Ontem pensei em usar o rsync e simplesmente copiar apenas os novos arquivos. Mas parece demorar um pouco para o rsync rastrear todos os arquivos. Basicamente, leva muito tempo porque o armazenamento FTP é uma merda. Então acabei com a ideia de encontrar apenas os arquivos modificados mais recentes (últimos 24h) no meu diretório de ativos e copiá-los para o FTP. Para minimizar a carga no FTP. Mas eu sou novo no bash scripting, claro que o google já me ajudou e eu criei as seguintes partes:

#!/bin/bash

Source="/my/source/folder"
Destination="/my/slow/ftp/"

ls find $Source -mtime -1 -ls
    do
        cp -a $Source $Destination
done    

O que estou perdendo? Você pode me ajudar a terminar isso?

Se minha ideia de fazer o backup do delta não for a ideal, sinta-se à vontade para sugerir outra coisa.

    
por Private 18.07.2016 / 14:49

1 resposta

2

Você pode fazer isso usando uma vez find .

Para tarefas como essa, em que a precisão de tempo é necessária, use a opção -mmin de find para expressar a restrição de tempo em minutos, em vez de -mtime para expressar em dias.

find /source -mmin -1441 -exec cp -a -t /destination {} +

Isso copiará os arquivos modificados nas últimas 24 horas (1440 minutos) contando a partir de agora, de /source para /destination .

Para copiar para o servidor remoto, use rsync , pois ele continuará com qualquer transferência parcial (ao contrário de scp ):

find /source -mmin -1441 -exec rsync -a {} user@host:/destination/ \;
    
por heemayl 18.07.2016 / 14:59