Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: через cron не создаётся снапшот LVM  (Прочитано 975 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mattic

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Добрый день! Столкнулся с такой проблемой. Имеется Ubuntu Server x64 16.04. В системе настроен раздел LVM b1c файловая система ext4 с именем lvol0. Хочется по cron делать резервные копии папок из того раздела. Там находятся файловые базы 1С, с которыми работают в течение рабочего дня, так что хотелось бы делать всё из теневой копии. Код скрипта для создания резервной копии:
#!/bin/bash
echo " "
echo "Начало создания резерных копий для LVM " $(date +%Y%m%d_%H-%M-%S)
#удаляем, вдруг что-то завалялось
lvremove -f /dev/b1c/now
umount /mnt/snapshot
sleep 10
#создаём теневую копию(снапшот) баз 1С
lvcreate -s -L 10G -n now /dev/b1c/lvol0
sleep 10
echo "Файлы в папке /dev/b1c"
ls -la /dev/b1c
#подключаем сетевую папку сетевого накопителя
mount тут подключение сетевого хранилища

#монтируем созданный снапшот для создания резервной копии
mount -o ro /dev/b1c/now /mnt/snapshot

echo "Файлы в папке /mnt/snapshot"
ls -la /mnt/snapshot
echo " "
#создаём архивы с бекапами
sleep 10
echo "Создание архива 7z из теневой копии"
7z a -mhe=on  -ppfhgkfnfbrflhsrmrail -mx7 /mnt/NetStorage/ZUPLVM$(date +%Y%m%d-%H%M).7z  /mnt/snapshot/bases1c/RM_Rail_Ing_ZUP
sleep 10
echo "Удаление теневой копии"
umount /mnt/snapshot
lvremove -f /dev/b1c/now
echo "Завершение резервного копирования " $(date +%Y%m%d_%H-%M-%S)
Пояснения к скрипту. sleep 10 расставил больше от отчаянья, типа не успевает создаться снапшот. Строчки с ls -la просто отладочные, они показывают наличие или отсутствие снапшота now.
В итоге скрипт засовывается в crontab -e строчкой 22 11 * * 1-5 sh /etc/LVMBackup.sh >> /var/log/backupScript.log  и в файле лога появляются следующие записи. Как видно в данных по папкам ls должен был появиться снапшот, а там ничего нет, там только сам раздел lvol0
Начало создания резервных копий для LVM  20170523_11-22-01
[color=red]Файлы в папке /dev/b1c[/color]
total 0
drwxr-xr-x  2 root root   60 May 22 21:04 .
drwxr-xr-x 19 root root 4420 May 22 21:05 ..
lrwxrwxrwx  1 root root    7 May 22 21:04 lvol0 -> ../dm-0
[color=red]Файлы в папке /mnt/snapshot[/color]
total 8
drwxr-xr-x 2 administrator администрация 4096 May 17 14:19 .
drwxr-xr-x 7 root          root          4096 May 17 14:19 ..

Создание архива 7z из теневой копии
7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning

/mnt/snapshot/bases1c/[i]папка базы[/i]:  WARNING: No such file or directory

Creating archive /mnt/NetStorage/ZUPLVM20170523-1122.7z

WARNINGS for files:

/mnt/snapshot/bases1c/[i]папка базы[/i] : No such file or directory
----------------
WARNING: Cannot find 1 file
Удаление теневой копии
Завершение резервного копирования  20170523_11-22-52
В случае если я этот скрипт запускаю sudo вручную, то всё отрабатывает идеально. Появляется строчка  Logical volume "now" created. и бекап создаётся нормально.
P.S. Абсолютно аналогичная проблема у меня была при разделе в zfs, но я подумал, что zfs ещё недостаточно допилена для Ubuntu и переделал всё на LVM. Нутром понимаю, что проще заново с нуля переделать сервер, но хочется разобраться что не так.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #1 : 23 Май 2017, 14:04:58 »
В итоге скрипт засовывается в crontab -e строчкой 22 11 * * 1-5 sh /etc/LVMBackup.sh >> /var/log
А нужно так:
22 11 * * 1-5 /usr/bin/script -a -f -c "/bin/bash /etc/LVMBackup.sh" /var/log
В скрипт после #!/bin/bash добавь:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
И "crontab -e" нужно от рута открывать (рутовый крон) или с sudo.
« Последнее редактирование: 23 Май 2017, 14:10:38 от renzrv »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27433
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #2 : 23 Май 2017, 14:43:29 »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #3 : 23 Май 2017, 15:09:09 »
Зачем?
Сам не догадался?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27433
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #4 : 23 Май 2017, 15:32:10 »
Не, представь себе, не догадываюсь, зачем столько мусора в кронтаб писать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн mattic

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #5 : 23 Май 2017, 16:57:03 »
И "crontab -e" нужно от рута открывать (рутовый крон) или с sudo.
открывал от root, просто расписывать не стал.

Пользователь добавил сообщение 24 Май 2017, 15:49:49:
Спасибо! Вроде пару тестовых раз всё заработало. Теперь ещё погоняю в течение нескольких дней повнимательнее.
Объясните, пожалуйста, поподробнее почему не хотело работать простым указанием скрипта через cron?
« Последнее редактирование: 24 Май 2017, 15:49:49 от mattic »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27433
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #6 : 25 Май 2017, 18:00:01 »
Объясните, пожалуйста, поподробнее почему не хотело работать простым указанием скрипта через cron?
Не было исполнимого бита, либо неправильно прописан шебанг.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
Re: через cron не создаётся снапшот LVM
« Ответ #7 : 25 Май 2017, 20:42:56 »
И еще. когда Вы создаете snapshot, Вы выделяете буфер под изменения данных в файловой системе 10Гб
lvcreate -s -L 10G -n now /dev/b1c/lvol0

Это точно столько много нужно?

И если уж Вы работаете под Linux, то поставьте связку 1с server + postgresql. Зачем мучиться с файловым вариантом? Это и медленно и не надежно. Там же и бэкапы можно настроить средствами postgresql.

Оффлайн mattic

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: через cron не создаётся снапшот LVM
« Ответ #8 : 30 Май 2017, 14:17:32 »
Ещё раз всем спасибо! Работает несколько дней как надо и без сбоев.
И еще. когда Вы создаете snapshot, Вы выделяете буфер под изменения данных в файловой системе 10Гб
lvcreate -s -L 10G -n now /dev/b1c/lvol0
Это точно столько много нужно?
Ну там в итоге будет две базы, да и место на логическом разделе есть, пусть будет так.
И если уж Вы работаете под Linux, то поставьте связку 1с server + postgresql. Зачем мучиться с файловым вариантом? Это и медленно и не надежно. Там же и бэкапы можно настроить средствами postgresql.
Сервер 1с под Linux как минимум надо покупать. А с точки зрения медленности наверное не критично, т.к. бухгалтера последнее время так работают и на скорость работы не жалуются. У нас всего 4 человека в 1с работают, из них активно - только два.

alexxnight

  • Гость
Re: через cron не создаётся снапшот LVM
« Ответ #9 : 31 Май 2017, 21:41:27 »
Сервер 1с под Linux как минимум надо покупать.

При некоторых условиях не нужно. Все в рамках лицензии.

 

Страница сгенерирована за 0.353 секунд. Запросов: 24.