Я должен сделать запланированное резервное копирование баз данных серверов, используя cronjob для задачи резервного копирования и сценарий bash для операции резервного копирования. Это PHP веб-приложение. Вы можете сохранить файл резервной копии на жестком диске сервера или на внешнем USB-накопителе или жестком диске.
Пользователь добавляет задачу резервного копирования и редактирует ее из приложения веб-страницы, предназначенного для отображения всех сохраненных задач резервного копирования со всей их информацией:
сервер - база данных - таблицы - целевой сервер - целевое хранилище - день - час - минута
Все это сохраняется в файле XML и отображается в виде таблицы. Вы можете добавлять, редактировать или удалять задачи из этой таблицы на этой странице.
USB-накопители должны быть автоматически смонтированы на удаленных серверах, а затем приложение PHP должно сообщить пользователю, когда накопитель доступен для сохраненных задач с целевым хранилищем, равным USB.
У меня есть скрипт bash, который делает это, но вручную на одном сервере за раз. Я использую CentOS для гостей Virtual Box. Мой хост Virtual Box - Ubuntu, и я все еще начинающий. Мне нужна твоя помощь с командами.
В настоящее время у меня есть команда, которая получает имя USB (не его идентификатор), как это:
# Get USB stick count, name and size
dec_count=`fdisk -l | tr -s ' ' | grep 'Disk /' -c`
fdisk -l | tr -s ' ' | grep 'Disk /' | cut -f3 -d'/' | cut -f1 -d',' | sed -n "2,$dec_count p"
Это потому, что мне нужен уникальный идентификатор для каждого USB-накопителя, а не имя, которое дает ему Linux (например, sdb).
Тогда как мое приложение PHP может узнать, есть ли доступный USB-накопитель? Должен ли cronjob сделать это или это должно быть сделано в PHP?
Я правильно воспринимаю эту проблему? Любые вспомогательные ссылки или советы приветствуются. Нужно сделать это быстро.
Заранее спасибо.