Лучший способ скопировать миллион активов? еженедельно изменяя (только добавление) использование Сценария Bash?

Я в настоящее время настраиваю веб-сайт включая CMS, который имеет миллионы активов. Меньшие и большие изображения главным образом. Я хотел бы скопировать эти файлы регулярно. Например, еженедельно. Мне смонтировали FTP к моей машине, к которой я могу скопировать в. Вчера я думал об использовании rsync и просто скопировал только новые файлы. Но это, кажется, берет немного, очень хотят, чтобы rsync проверил через все файлы. В основном это берет возрасты, потому что устройство хранения данных FTP является поганым. Таким образом, я закончил с идеей найти только последнее измененным (продержитесь 24-й), файлы в моем каталоге активов и копируют их в FTP. Минимизировать нагрузку на FTP. Но я являюсь новым для избиения сценариев, конечно, Google уже помог мне, и я придумал следующие части:

#!/bin/bash

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

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

Что я пропускаю? Можно ли помочь мне закончить его?

Если моя идея создать резервную копию дельты не оптимальна, не стесняйтесь предлагать что-то еще.

1
задан 18 July 2016 в 15:49

1 ответ

Можно сделать, это использование того идет find.

Для задач как это, где точность времени необходима, используйте -mmin опция find для выражения ограничения времени в минутах вместо -mtime для выражения в течение многих дней.

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

Это скопирует файлы, измененные в течение прошлых 24 часов (1 440 минут) рассчитывающий с этого времени, от /source до /destination.

<час>

Для копирования в удаленный сервер используйте rsync, поскольку он возобновит любую частичную передачу (в отличие от этого scp):

find /source -mmin -1441 -exec rsync -a {} user@host:/destination/ \;
2
ответ дан 7 December 2019 в 13:43

Другие вопросы по тегам:

Похожие вопросы: