Backup. Сортировка по дате

  • Предистория: делаю регулярно резервное копирование на USB Festplatte. Хочется немного автоматизировать. До сих пор выглядело так. Плату втыкаешь, запускаешь файл и плата монтируется, создается папка с сегодняшней датой, потом данные в нее копируются и плата отмонтирывается.


    Проблема в том, что если места недостаточно то соответственно ... бум. Идея такая - определить какая папка самая старая и ее rm.
    Мысль - с помощью ls и awk загнать имя папки и время в файл и оттуда с помощью export прочитать первое имя. ls --full-time | awk '{print $9 " "$6}' | sort > dat отлично выдает на гора даты и имена. А вот как мне теперь прочитать строчку "2006-07-06 2006-07-06" и выташить из нее имя папки 2006-07-06 не знаю.

  • Цитата

    Со слов пользователя Technolog
    Предистория: делаю регулярно резервное копирование на USB Festplatte. Хочется немного автоматизировать. До сих пор выглядело так. Плату втыкаешь, запускаешь файл и плата монтируется, создается папка с сегодняшней датой, потом данные в нее копируются и плата отмонтирывается.


    Проблема в том, что если места недостаточно то соответственно ... бум. Идея такая - определить какая папка самая старая и ее rm.
    Мысль - с помощью ls и awk загнать имя папки и время в файл и оттуда с помощью export прочитать первое имя. ls --full-time | awk '{print $9 " "$6}' | sort > dat отлично выдает на гора даты и имена. А вот как мне теперь прочитать строчку "2006-07-06 2006-07-06" и выташить из нее имя папки 2006-07-06 не знаю.


    ls -1rt | head -n 1


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

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем the_moon ().

  • inkrementell


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


    пока остановился на варианте что храню несколько копий, благо количество данных у клиентов пока не превышает как правило 10гиг.

  • Спасибо. Это кстати не Backup а имено резервное копирование. Можно сказать прихоть (не моя). Иметь все файлы на диске в двух экземплярах с разницей недели так в полторы. Ну да ладно.


    Слушай, если я это выполняю на первом уровне /home, то все пучком. Стоит опуститься на уровень ниже /home/backup, то реzультат .. корень. Работать у меня это конечно будет, плата висит на /extusb, но в целях повышения уровня самообразованности - как сделать тоже самое если диск замаунтен на /home/extusb

  • Цитата

    Со слов пользователя Technolog
    Спасибо. Это кстати не Backup а имено резервное копирование. Можно сказать прихоть (не моя). Иметь все файлы на диске в двух экземплярах с разницей недели так в полторы. Ну да ладно.


    Слушай, если я это выполняю на первом уровне /home, то все пучком. Стоит опуститься на уровень ниже /home/backup, то реzультат .. корень. Работать у меня это конечно будет, плата висит на /extusb, но в целях повышения уровня самообразованности - как сделать тоже самое если диск замаунтен на /home/extusb


    Называй папки так


    mkdir "BCK$(date +%y%m%d%H%M%S)"


    и потом просто делай


    ls | grep "^BCK" | head -n 1


    получишь самую старую папку

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем the_moon ().

  • Опять проблема. Скрипт написан и работает, под SuSe. Но надо, чтобы под FreeBSD. А там строчка

    Исходный код
    NAME=$(ls | grep "^BCK" | head -n 1)

    выдает вместо имени папки пустое место. Есть такая разница в обознaчении переменных?