rsync, создающий целевой каталог со старой датой

У меня есть сценарий, который автоматизирует резервные копии - почасовые снимки моего xubuntu 12.04LTS рабочая станция. Это создает каталог, названный согласно дате и времени, т.е.: 20140316-1033, представляя 10:33 этим утром, 16-го марта. Резервное копирование работает безупречно, жесткие ссылки, функционирующие, как они должны.

Это изменилось два дня назад. Я выполнял его вручную - эпизодически, и наконец я решил иметь крон, автоматизируют задачу, выполняя его раз в час. Я изменил многословие в рамках сценария, пара тонких настроек относительно того, что копировалось с каждым резервным копированием. Так, я, по-видимому, изменил что-то, и я не могу выяснить то, что я сделал.

Когда я проверяю дату создания целевого каталога, это всегда 14-го марта 2014 в 11:23. Вплоть до я начал играть, это работало правильно. С тех пор даты создания статичны.

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

Что-либо, на что можно указать на меня, значительно ценилось бы.Заранее спасибо.

SOURCE="/"
NOW=$(date +"%Y%m%d-%H%M")
BASE="/media/backup-internal/furgesson"
PREVIOUS=$(ls -r $BASE | head -1)

if [[ "$NOW" != "$PREVIOUS" ]];
then
    TARGET="$BASE/$NOW"
    LINK="$BASE/$PREVIOUS"
    OPTIONS="-avH --delete --link-dest=$LINK"
    rsync $OPTIONS --include-from '/home/carolyn/BackupScripts/include-list.txt' --exclude-from '/home/carolyn/BackupScripts/exclude-list.txt' $SOURCE $TARGET
fi

И вот то, на что похож список каталогов...

total 124
drwxr-xr-x 25 root root 4096 Mar  7 04:04 20140314-0445
drwxr-xr-x 25 root root 4096 Mar 14 04:48 20140314-0512
drwxr-xr-x 25 root root 4096 Mar 14 04:48 20140314-0515
drwxr-xr-x 25 root root 4096 Mar 14 04:48 20140314-0821
drwxr-xr-x 25 root root 4096 Mar 14 04:48 20140314-0822
drwxr-xr-x 23 root root 4096 Mar 14 09:38 20140314-1013
drwxr-xr-x 23 root root 4096 Mar 14 11:23 20140314-1140
drwxr-xr-x 23 root root 4096 Mar 14 11:23 20140314-1314
drwxr-xr-x 23 root root 4096 Mar 14 11:23 20140314-2059
drwxr-xr-x 23 root root 4096 Mar 14 11:23 20140314-2128
drwxr-xr-x 23 root root 4096 Mar 14 11:23 20140314-2141
drwxr-xr-x 23 root root 4096 Mar 14 11:23 20140314-2144
drwxr-xr-x  3 root root 4096 Mar 14 11:23 20140315-0846
drwxr-xr-x  3 root root 4096 Mar 14 11:23 20140315-0848
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-0849
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-0856
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1125
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1135
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1138
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1405
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1409
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1433
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1533
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1633
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1733
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1833
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140315-1933
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140316-0733
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140316-0833
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140316-0933
drwxr-xr-x  4 root root 4096 Mar 14 11:23 20140316-1033
2
задан 16 March 2014 в 19:05

1 ответ

Несколько маленьких проблем:

  1. Вы никогда не должны анализировать ls. Тем не менее в этом случае Вы, кажется, имеете полный контроль над именами файлов в Вашем целевом каталоге так ls может быть опция. Однако я рекомендую использовать ls -tr так вид ко времени, вместо в алфавитном порядке:

    PREVIOUS=$(ls -tr $BASE | head -n 1)
    
  2. Давайте взглянем на Ваш rsync опции. -a равняется -rlptgoD:

    -r, --recursive             recurse into directories
    -l, --links                 copy symlinks as symlinks
    -o, --owner                 preserve owner (super-user only)
    -g, --group                 preserve group
    -t, --times                 preserve modification times
    

    Проблема -t, это сохраняет реальное время изменения исходных файлов, таким образом, оно на самом деле не назначает дату модификации резервного копирования на время, резервное копирование было создано bu ко времени последнего изменения исходных файлов. Замена -a с -rlog (удаление -t) установить время на то, что Вы ожидаете.

0
ответ дан 10 November 2019 в 06:29

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

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