diff --git a/orangepi5plus_backup.md b/orangepi5plus_backup.md index 6be5911..f4afc26 100644 --- a/orangepi5plus_backup.md +++ b/orangepi5plus_backup.md @@ -5,29 +5,14 @@ 1. Обеспечить подключение к хранилищу резервных копий по SSH на основе ключа пользователю root, т.к. скрипт будет выполняться от его имени ```bash -root@host-usb:~ $ ssh-keygen -root@host-usb:~ $ ssh-copy-id da2001@nas.dav.lan +root@opisd:~# ssh-keygen +root@opisd:~# ssh-copy-id da2001@nas.dav.lan ``` -5. Создать конфигурационный файл EEPROM, который вернёт загрузку на SD +1. Подготовить скрипт, который выполнит создание образа eMMC и передаст его по SSH в сетевое хранилище ```bash -pi@host-usb:~ $ sudo mkdir /opt/backup_rpi && sudo vim /opt/backup_rpi/sd_eeprom.conf -``` - -```bash -pi@host-usb:~ $ cat /opt/backup_rpi/sd_eeprom.conf -[all] -BOOT_UART=0 -WAKE_ON_GPIO=1 -POWER_OFF_ON_HALT=0 -BOOT_ORDER=0xf1 -``` - -6. Подготовить основной скрипт, который выполнит создание образа SD-карты и передаст его по SSH в сетевое хранилище - -```bash -pi@host-usb:~ $ sudo vim /opt/backup_rpi/rpi_backup.sh +da2001@opisd:~$ sudo vim /opt/backup_opi/opi_backup.sh ``` ```bash @@ -35,14 +20,10 @@ pi@host-usb:~ $ sudo vim /opt/backup_rpi/rpi_backup.sh ################################################################################################### -# Скрипт создаёт образ SD-карты Raspberry PI и отправляет его на удалённый сервер по SSH, +# Скрипт создаёт образ eMMC OrangePI 5 Plus и отправляет его на удалённый сервер по SSH, # при этом на удалённом сервере происходит сжатие образа для экономии места. # Сжатие происходит на удалённом сервере, чтобы минимизировать операции записи на Flash память, -# с которой произведена загрузка RPI. -# После создания образа, происходит обновление конфигурации EEPROM Raspberry PI для загрузки с SD карты. -# В директории с этим скриптом должен находится конфигурационный файл EEPROM - $eeprom_conf - -# Для корректной работы скрипта, EEPROM RPI должен поддерживать режим переключения загрузки SD<=>USB. +# с которой произведена загрузка OrangePI. ################################################################################################### @@ -56,28 +37,16 @@ fi server=da2001@nas.dav.lan # Путь сохранения на удалённом сервре -remote_path=/mnt/main/data/Backup/bastion_rpi +remote_path=/mnt/main/data/Backup/opi1 -# Директория, в которой хранится конфигурационный файл EEPROM -eeprom_conf_path=/opt/backup_rpi - -# Необходимо убедиться, что в папке присутствует конфиг EEPROM для изменения порядка загрузки -eeprom_conf="sd_eeprom.conf" - -if [ ! -e "$eeprom_conf_path/$eeprom_conf" ]; then - ssh $server "echo Файл настроек EEPROM $eeprom_conf не найден" > $remote_path/lastlog 2>&1 - exit -fi - -# Необходимо синхронизировать время, т.к. сейчас оно отстаёт на неделю. -# Для этого используем утилиту ntpdate, Её необходимо заранее установить sudo apt install ntpdate. -ntpdate ntp1.vniiftri.ru +# Необходимо синхронизировать время +chronyc -a makestep # Имя образа -name=$(echo $(date +%Y-%m-%d)_${HOSTNAME}_image.img.gz | sed 's/-usb//') +name=$(echo $(date +%Y-%m-%d)_${HOSTNAME}_image.img.gz | sed 's/-emmc//') # Имя диска, над которым будем работать. SD в RPI называется mmcblk0 -disk=/dev/mmcblk0 +disk=/dev/mmcblk1 # запишем в переменную последний сектор последнего раздела диска last_sector=$(fdisk -l -o end $disk | tail -1) @@ -98,9 +67,6 @@ ssh $server 'echo "$(tail -5 $remote_path/log)" > $remote_path/log' count_copies=3 ssh $server "find $remote_path -type f -name '*_image.img.gz' -printf '%T@ %p\n' | sort -nr | cut -d' ' -f 2- | tail -n +$(($count_copies+1)) | xargs rm -f --" -# Необходимо переключить EEPROM на загрузку с SD карты -rpi-eeprom-config -a $eeprom_conf_path/$eeprom_conf - # Перезагрузка /usr/sbin/reboot @@ -109,19 +75,21 @@ rpi-eeprom-config -a $eeprom_conf_path/$eeprom_conf Добавить права на выполнение ```bash -pi@host-usb:~ $ sudo chmod +x /opt/backup_rpi/rpi_backup.sh +da2001@opisd:~$ sudo chmod +x /opt/backup_opi/opi_backup.sh ``` -7. Обеспечить выполнение скрипта при загрузке с USB. Сервис systemd +**!!Актуализировать!!** + +7. Обеспечить выполнение скрипта при загрузке с SD. Сервис systemd Для этого вам нужно создать скрипт запуска systemd и поместить его в каталог `/etc/systemd/system/`. ```bash -pi@host-usb:~ $ sudo vim /etc/systemd/system/rpi_backup.service +da2001@opisd:~$ sudo vim /etc/systemd/system/rpi_backup.service ``` ```bash -pi@host-usb:~ $ cat /etc/systemd/system/rpi_backup.service +da2001@opisd:~$ cat /etc/systemd/system/rpi_backup.service [Unit] Description=Run a Backup Script at Startup After=default.target @@ -141,7 +109,3 @@ pi@host-usb:~ $ sudo systemctl enable rpi_backup.service ``` *** - - - -