Вопрос или проблема
Я хочу сделать резервную копию OpenWrt с помощью команды из моего локального терминала, довольно просто, но моя проблема в том, что после этого, когда я пытаюсь вернуть резервную копию на мой локальный ПК. Вот что у меня есть на данный момент, первая часть в порядке:
#!/bin/bash
ssh [email protected] sysupgrade --create-backup /tmp/main_backup.tar.gz
С помощью этой команды я создаю резервную копию моего маршрутизатора и хочу скопировать эту резервную копию на мой локальный ПК.
Основываясь на информации из вопроса, скрипт с scp
:
#!/bin/bash
# Создать tgz
ssh [email protected] sysupgrade --create-backup /tmp/main_backup.tar.gz
# Скопировать в локальный каталог
scp [email protected]:/tmp/main_backup.tar.gz <локальный каталог>
.
Ответ или решение
Как сделать резервное копирование маршрутизатора OpenWrt и скопировать его на локальный ПК
В данной статье мы подробно разберем процесс создания резервной копии маршрутизатора на базе OpenWrt с помощью командной строки и последующего копирования этого резервного файла на ваш локальный компьютер с использованием SCP (Secure Copy Protocol). Этот процесс может быть выполнен с помощью небольшого скрипта на Bash.
1. Создание резервной копии
Первым шагом будет создание резервной копии конфигурации вашего маршрутизатора. Для этого мы будем использовать команду ssh
, чтобы выполнить команду на удаленном сервере (маршрутизаторе).
Вот пример скрипта, который создает резервную копию:
#!/bin/bash
# Создание резервной копии маршрутизатора
ssh user@router_ip 'sysupgrade --create-backup /tmp/main_backup.tar.gz'
В этом коде вам нужно заменить user
на имя пользователя вашего маршрутизатора, а router_ip
— на IP-адрес вашего маршрутизатора. Команда sysupgrade --create-backup /tmp/main_backup.tar.gz
создаст файл резервной копии и сохранит его во временной директории /tmp
.
2. Копирование резервной копии на локальный ПК
После успешного создания резервной копии, следующим шагом будет копирование этого файла на ваш локальный компьютер. Для этого мы используем команду scp
, которая позволяет копировать файлы между удаленными и локальными системами.
Вставьте следующую команду в тот же скрипт:
# Копирование резервной копии на локальный компьютер
scp user@router_ip:/tmp/main_backup.tar.gz /path/to/local/dir
Не забудьте изменить /path/to/local/dir
на фактический путь к директории на вашем локальном ПК, куда вы хотите сохранить резервную копию.
Полный скрипт
Теперь, соединяя оба шага, у нас получается следующий скрипт:
#!/bin/bash
# Шаг 1: Создание tgz
ssh user@router_ip 'sysupgrade --create-backup /tmp/main_backup.tar.gz'
# Шаг 2: Копирование на локальный ПК
scp user@router_ip:/tmp/main_backup.tar.gz /path/to/local/dir
Дополнительные рекомендации
- Правильные права доступа: Убедитесь, что у вас есть необходимые права доступа как на маршрутизаторе, так и на локальном ПК.
- SSH-ключи: Для удобства вы можете настроить SSH-ключи, чтобы не вводить пароль каждый раз при выполнении команды
ssh
илиscp
. - Удаление временных файлов: После успешного копирования вы можете добавить команду для удаления временного файла на маршрутизаторе, используя команду
ssh user@router_ip 'rm /tmp/main_backup.tar.gz'
после операцииscp
. - Автоматизация: Если вы планируете регулярно выполнять резервное копирование, рассмотрите возможность автоматизации этого процесса с помощью
cron
.
Следуя данным инструкциям, вы сможете легко создать резервную копию вашего маршрутизатора OpenWrt и скопировать ее на свой локальный ПК с использованием простого скрипта Bash.