LINUX.ORG.RU
ФорумAdmin

Ошибка при создании бекапа теневой копии zfs

 ,


0

3

Добрый день! Столкнулся с такой проблемой. Имеется Ubuntu Server x64 16.04. В системе настроен раздел с файловой системой ZFS. Хочется по cron делать резервные копии папок из раздела ZFS. Там находятся файловые базы 1С, с которыми работают, так что хотелось бы делать всё из теневой копии. Код скрипта для создания резервной копии:

#!/bin/bash
#подключаем сетевую папку сетевого накопителя
mount тут данные сетевой папки >> /var/log/backupScript.log
#создаём теневую копию(снапшот) баз 1С
zfs snapshot bases1c/fs@now   >> /var/log/backupScript.log
#создаём архивы с бекапами
7z a -mhe=on -p1234 -mx9 /mnt/NetStorage/BUH$(date +%Y%m%d-%H%M).7z  /mnt/bases1c/.zfs/snapshot/now/bases1c/BUH >> /var/log/backupScript.log
#удаляем снапшот
zfs destroy bases1c/fs@now  >> /var/log/backupScript.log
#размонтируем сетевую папку
umount /mnt/NetStorage >> /var/log/backupScript.log
Скрипт засунут в crontab -e следующей строчкой:
0 7 * * 2-6 sh /etc/backupScript.sh
И в итоге после срабатывания крона в файле лога следующая ошибка 7z:
Creating archive /mnt/NetStorage/BUH20170424-1000.7z
WARNINGS for files:
/mnt/bases1c/.zfs/snapshot/now/bases1c/BUH : Это удаленный объект
----------------
WARNING: Cannot find 1 file
Самое интересное, что если скрипт запустить вручную sudo sh /etc/backupScript.sh то архив резервной копии создаётся без ошибок. P.S. Подозреваю, что народ будет называть меня безумцем за то, что использую zfs. Но у меня там небольшие базы, так что почему бы и нет.


Идея плохая. Нормальный бэкап базы ты так не получишь. Если надо без остановки, то только SQL.

anonymous
()

продолжаю исследование

Как и ранее не делается бекап из снапшота на zfs из-под cron. Если под root запустить скрипт вручную, то всё нормально. Добавил в качестве отладки в скрипт следующие строки

echo "Файлы в папке .zfs"
ls -la /mnt/bases1c/.zfs
echo "Файлы в папке .zfs/snapshot"
ls -la /mnt/bases1c/.zfs/snapshot
echo "Текущий пользователь"
whoami
В файле, куда осуществляется вывод вот такое
Файлы в папке .zfs
total 1
dr-xr-xr-x 1 root          root          0 Apr 27 10:44 .
drwxrwxrw- 3 administrator администрация 3 Apr 13 14:13 ..
dr-xr-xr-x 2 root          root          2 May 12 09:31 shares
dr-xr-xr-x 2 root          root          2 May 12 11:10 snapshot
Файлы в папке .zfs/snapshot
total 0
dr-xr-xr-x 2 root root 2 May 12 11:10 .
dr-xr-xr-x 1 root root 0 Apr 27 10:44 ..
Текущий пользователь
root
Т.е. из-под cron просто не создаётся снапшот. Может у кого-то есть мысли, где я глючу?

Идея плохая. Нормальный бэкап базы ты так не получишь. Если надо без остановки, то только SQL.

На SQL переводить сейчас, пока не стоит свеч. Будем считать, что бекапа из снапшота вполне достаточно)

mattic
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.