Как взять инкрементное резервное копирование в ленточном накопителе

Вам не нужен Rename Команда для этого, вы можете сделать это непосредственно в оболочке:

c=0; for i in *; do let c++; mv "$i" "gg_$(printf "%03d" $c)${i#"${i%.*}"}"; done

printf "% 03D" $ C будет распечатать переменную $ C , прокладывая его с 3 ведущими 0s по мере необходимости. Пусть C ++ увеличивает счетчик ( $ C ). $ {I # '$ {i%. *} "} извлекает расширение. Больше на этом здесь .

Я бы не использовал Rename для этого. Я не думаю, что это может сделать расчеты. Действительные конструкции Perl, такие как S /.*/$ C ++ / E , и я не вижу какой-либо другой способ, чтобы он сделал расчеты. Это означает, что вам все равно нужно будет запустить его в петле и иметь что-то еще, увеличивайте счетчик для вас. Что-то вроде:

c=0;for i in *; do let c++; rename -n 's/.*\.(.*)/'$c'.$1/' "$i"; done

, но нет никакого преимущества по сравнению с более простым MV .

0
18.04.2014, 09:27
2 ответа

Сначала убедитесь, что пользователь, которого вы собираетесь использовать для резервного копирования:

  1. может читать все 5 папок, а их содержимое
  2. может использовать ssh на сервер с LTO (позволяет называть это «удаленным») без аутентификации на учетную запись с именем ltouser . При необходимости настройте такую ​​учетную запись.
  3. может записывать на ленту после выполнения ssh , предположим, что имя устройства - / dev / st0

Если все, что работает, вы можете использовать tar для сделать резервную копию.

tar -cv -f ltouser@remote:/dev/st0  YOUR_LOCAL_DIRECTORIES

Как только это сработает, вы можете добавить параметр - более новый , чтобы начать создание инкрементных резервных копий.Для этого варианта вы можете указать дату, но часто проще использовать файл в качестве ссылки:

cd parent/directory/of/your/stuff/to/backup
touch /var/tmp/next_dts_reference
tar -cv --new dts_reference -f ltouser@remote:/dev/st0  YOUR_LOCAL_DIRECTORIES
mv /var/tmp/next_dts_reference dts_reference

Важно создать файл ссылки перед выполнением резервного копирования, но переместить его после. Таким образом, на следующей неделе вы не пропустите файлы, которые были созданы во время резервного копирования.

3
28.01.2020, 02:28

Шаг 4 после первых трех работ Антона:

Попробуйте

tar --rsh-command=/usr/bin/ssh -cv -f ltouser@remote:/dev/st0

Или другой путь по ssh. Большинство системных tar компилируются в / usr / bin / ssh как rsh-command по умолчанию. Но иногда вместо этого используется значение по умолчанию / usr / bin / rsh . А rsh может не существовать.

0
28.01.2020, 02:28

Теги

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