MishaN Posted August 27, 2022 Posted August 27, 2022 Спасибо за скрипт. добавил отправку файлов через бот телеги: #tg send if [ "$IsTg" = "1" ] then if [ "$DOW" = "6" ] then smarthtml_mailer_tg ${BACSTORDIR}${BACNAME}-${DATE}.tgz 1 fi fi архив энтваре раз в неделю, прошивку и конфиг по изменению. скрипт smarthtml_mailer_tg взят из smarthtml и доработан: if [ -n "$ISFILE" ]; then $CURL_CMD -F chat_id="$CHAT_ID" -F document=@"$MAILER_MSG_FILE" https://api.telegram.org/bot"$API_TOKEN"/sendDocument else MSG="<strong>`cat "$MAILER_MSG_FILE"`</strong>" $CURL_CMD --data-urlencode "text=${MSG}" "https://api.telegram.org/bot${API_TOKEN}/sendMessage?chat_id=${CHAT_ID}&parse_mode=html" 2>&1 fi 3 Quote
Kazantsev Posted March 19, 2023 Posted March 19, 2023 В 27.08.2022 в 09:15, MishaN сказал: Спасибо за скрипт. добавил отправку файлов через бот телеги: #tg send if [ "$IsTg" = "1" ] then if [ "$DOW" = "6" ] then smarthtml_mailer_tg ${BACSTORDIR}${BACNAME}-${DATE}.tgz 1 fi fi архив энтваре раз в неделю, прошивку и конфиг по изменению. скрипт smarthtml_mailer_tg взят из smarthtml и доработан: if [ -n "$ISFILE" ]; then $CURL_CMD -F chat_id="$CHAT_ID" -F document=@"$MAILER_MSG_FILE" https://api.telegram.org/bot"$API_TOKEN"/sendDocument else MSG="<strong>`cat "$MAILER_MSG_FILE"`</strong>" $CURL_CMD --data-urlencode "text=${MSG}" "https://api.telegram.org/bot${API_TOKEN}/sendMessage?chat_id=${CHAT_ID}&parse_mode=html" 2>&1 fi В каком формате сохранять файл бэкап? Quote
Kazantsev Posted March 19, 2023 Posted March 19, 2023 В 27.08.2022 в 09:15, MishaN сказал: В 27.08.2022 в 09:15, MishaN сказал: Спасибо за скрипт. В каком формате сохранять файл скрипта бэкап? Quote
gvan Posted March 20, 2023 Author Posted March 20, 2023 В текстовом формате. Только не забыть установить потом на скрипт права исполняемого файла. Quote
Kazantsev Posted March 27, 2023 Posted March 27, 2023 В 20.03.2023 в 09:42, gvan сказал: В текстовом формате. Только не забыть установить потом на скрипт права исполняемого файла. txt? и задаёшь права в entware? Quote
Mamay Posted March 27, 2023 Posted March 27, 2023 25 минут назад, Mickey_Mouse сказал: txt? и задаёшь права в entware? Расширение не имеет значения. Главное что нужно сделать - chmod +x Quote
Kazantsev Posted March 27, 2023 Posted March 27, 2023 1 час назад, Mamay сказал: Расширение не имеет значения. Главное что нужно сделать - chmod +x тогда что я не так делаю? Quote
Mamay Posted March 27, 2023 Posted March 27, 2023 23 минуты назад, Mickey_Mouse сказал: тогда что я не так делаю? Сие мне неведомо, но аглиццки по чёрному написано: Не существующий файл или директория. Quote
Kazantsev Posted March 27, 2023 Posted March 27, 2023 6 минут назад, Mamay сказал: Сие мне неведомо, но аглиццки по чёрному написано: Не существующий файл или директория. файл в нужном месте, правильно же скопировал? Quote
Mamay Posted March 27, 2023 Posted March 27, 2023 Смею предположить, что вы чмодите не в той папке, где лежит пресловутый backup. Либо указывайте фулл патч, либо смените директорию на нужную. Quote
Kazantsev Posted March 27, 2023 Posted March 27, 2023 так вот, как прописать верный путь, у меня всё там 1 Quote
Rootdiv Posted March 27, 2023 Posted March 27, 2023 20 минут назад, Mickey_Mouse сказал: так вот, как прописать верный путь, у меня всё там Так: chmod +x /opt/etc/cron.daily/backup Quote
Kazantsev Posted March 27, 2023 Posted March 27, 2023 2 минуты назад, Rootdiv сказал: Так: chmod +x /opt/etc/cron.daily/backup всё? в ответ никакой команды не было Quote
Rootdiv Posted March 27, 2023 Posted March 27, 2023 8 минут назад, Mickey_Mouse сказал: всё? в ответ никакой команды не было Да, значит всё прошло успешно. Quote
Kazantsev Posted March 27, 2023 Posted March 27, 2023 Только что, Rootdiv сказал: Да, значит всё прошло успешно. и дальше типа надо вставлять отдельную флешку для резервной копии? так и не понял, как создать копию Quote
Rootdiv Posted March 27, 2023 Posted March 27, 2023 (edited) 1 час назад, Mickey_Mouse сказал: и дальше типа надо вставлять отдельную флешку для резервной копии? так и не понял, как создать копию Как вариант, но в любом случае нужно прописать путь к месту куда хотите сохранять. Остальное сделат скрипт. Edited March 27, 2023 by Rootdiv Quote
yrzorg Posted October 6, 2023 Posted October 6, 2023 При ручном запуске скрипт работает, но выдаёт такую ошибку [root@Tech : ~]#>. /opt/etc/cron.daily/backup grep: warning: stray \ before ! grep: warning: stray \ before ! { Стоит обратить внимание или забить? Quote
dogoma Posted July 4, 2024 Posted July 4, 2024 У меня накрылись usb-порты на моём роутере. Я в рамках оперативного решения, пока переношу entware на внутреннюю память. Так как диск, на котором был установлен entware доступен, я просто запаковал весь раздел с ним в tar.gz, создал на внутренней памяти папку install, загрузил туда этот архив. Но каждый раз когда я выставляю память для opkg на внутреннюю память, роутер не хочет распаковывать этот архив, в логах: npkg failed to inflate "03-07-2024-23-32-backup.tar.gz": bad size (00000000256). и какого бы я размера архива не добивался, всегда та же ошибка. Нв внутренней памяти свободно 100 с лишним мегабайт, архив в пожатом состоянии около 3 МБ, в непожатом около 6. Подскажите, может кто знает в чём дело? Может необходимо какие-то права архиву прописать (пробовал отельно chmod +x и отдельно chmod 755). пакую такой командой: tar cvzf /test/`date "+%d-%m-%Y-%H-%M"`-backup.tar.gz * Quote
Dalex Posted September 19, 2024 Posted September 19, 2024 На KeeneticOs 4.2 Beta 4 отработал с такими ошибками tar: etc/qBittorrent_entware/config/ipc-socket: socket ignored ./backup: line 72: ndmq: not found ./backup: line 101: ndmq: not found cp: can't stat '/tmp/mnt/WDSSD/backup/firmware-2024-09-19': No such file or directory Quote
Leshiyart Posted September 19, 2024 Posted September 19, 2024 18 минут назад, Dalex сказал: line 72: ndmq нет уде ndmq сейчас ndmc Quote
gvan Posted September 19, 2024 Author Posted September 19, 2024 44 минуты назад, Dalex сказал: На KeeneticOs 4.2 Beta 4 отработал с такими ошибками tar: etc/qBittorrent_entware/config/ipc-socket: socket ignored ./backup: line 72: ndmq: not found ./backup: line 101: ndmq: not found cp: can't stat '/tmp/mnt/WDSSD/backup/firmware-2024-09-19': No such file or directory На предыдущей странице была инфа, как можно установить вручную ndmq 1 Quote
corder Posted October 20, 2024 Posted October 20, 2024 (edited) Я чисто Entware бэкаплю вот этим скриптом: #!/bin/sh # Создаем резервное копирование backup_file="/opt/entware-backup/entware-backup-$(date +%Y-%m-%d).tar.gz" tar -czf "$backup_file" --exclude=/opt/entware-backup /opt # Загружаем файл на FTP сервер ftp_server="192.168.100.2" ftp_user="admin" ftp_pass="Pa$$w0rd" ftp_path="/Backup/Entware/" # Загружаем файл curl -T "$backup_file" ftp://$ftp_user:$ftp_pass@$ftp_server$ftp_path # Проверяем успешность загрузки и удаляем файл if [ $? -eq 0 ]; then echo "Backup uploaded successfully. Deleting local file..." rm "$backup_file" else echo "Failed to upload backup." fi Должна быть создана папка /opt/entware-backup (она добавлена в исключения в скрипте, чтобы избежать зацикленности), в нее пишется архив всего Entware с текущей датой, после чего архив загружается на мою хранилку по FTP (на Entware должен быть установлен curl), после загрузки архив удаляется из директории /opt/entware-backup. Этот скрипт стоит в cron на каждое воскресенье. Edited October 20, 2024 by corder 2 Quote
G V Posted December 28, 2024 Posted December 28, 2024 (edited) В 06.10.2023 в 15:55, yrzorg сказал: При ручном запуске скрипт работает, но выдаёт такую ошибку [root@Tech : ~]#>. /opt/etc/cron.daily/backup grep: warning: stray \ before ! grep: warning: stray \ before ! { Стоит обратить внимание или забить? Разобрались с этим? У меня такой же вывод. Разобрался 1. grep: warning: stray \ before ! Эта ошибка возникает из-за некорректного экранирования символа ! в строке: EXCLCONFCMD='\! \$\$\$\|clock date' Символ ! в grep требует экранирования (\!) только в контексте интерпретации shell (например, в интерактивной оболочке, где ! используется для истории команд). В скрипте экранировать ! в аргументах grep не нужно, если команда выполняется не в интерактивной оболочке. Решение: Удалите экранирование !, оставив: EXCLCONFCMD='! $$$\|clock date' Плюс ошибка как у пользователя выше. cp: can't stat '/tmp/mnt/DK_1Tb/00_Backup/keenetic_ultra_h/auto/firmware-2024-12-28': No such file or director В итоге в бапке бэкапов создаются бэкапы конфига, текущего конфига, бэкап entware, но не бэкап прошивки. Бэкап прошивки падает в /opt/backup и заворачивается вместе с этой папкой в бэкап entware. Что кажется как-то криво. Переменные в скрипте: BACFIRMDIR=OPKG:/backup/ BACSTORDIR=/tmp/mnt/DK_1Tb/00_Backup/keenetic_ultra_h/auto/ Cкрипте взят в варианте от @usan с получением прошивки через rci. ЧЯДНТ? Keenetic Ultra KN-1811, прошивка 4.2.1. К роутеру подключена флэшка с entware и HDD на который бэкапится конфиг Edited December 28, 2024 by G V Quote
Absaz Posted January 3 Posted January 3 Доброго времени суток! Может ли кто-то пошагово описать процедуру переноса Entware со всем установленным ПО и его настройками из внутренней памяти роутера на внешний USB-диск, подключённый к USB-порту роутера? 1 Quote
spatiumstas Posted January 8 Posted January 8 В 03.01.2025 в 21:36, Absaz сказал: Доброго времени суток! Может ли кто-то пошагово описать процедуру переноса Entware со всем установленным ПО и его настройками из внутренней памяти роутера на внешний USB-диск, подключённый к USB-порту роутера? 1. Сделать бэкап Вручную через tar cvzf /opt/opkg_backup.tar.gz -C /opt где /opt/opkg_backup.tar.gz - куда сохранять автоматически можно через скрипт 2. По инструкции так же развернуть Entware, только использовать полученный архив. install/opkg_backup.tar.gz 1 Quote
AssGuard2 Posted January 10 Posted January 10 (edited) Решение хорошее, пользовался им до тех пор пока внешний SSD не накрылся и весь бэкап не потерялся тоже. Да, хранить бэкап на том же устройстве плохая идея. Поэтому решил переделать скрипт под себя, добавил через rclone копирование на сетевую шару и на Google Drive и Mega. Плюсом нотификация о результатах бэкапа в телеграм. Кладем backup_config.env по пути /opt/etc А скрипт backup по пути /opt/usr/bin/, но можно и любой другой по усмотрению. Даём права на исполнение: chmod +x /opt/usr/bin/backup Далее жмем crontab -e и добавляем задачу в планировщик, естественно время выбираем по вкусу: 0 11 * * * /opt/bin/bash /opt/usr/bin/backup backup backup_config.env Edited January 10 by AssGuard2 2 Quote
Mamay Posted January 10 Posted January 10 2 часа назад, AssGuard2 сказал: chmod +x /opt/usr/bin/backu chmod +x /opt/usr/bin/backup 1 Quote
nma1 Posted January 15 Posted January 15 Хотелось бы отметить несколько моментов, которые я как нуб открыл для себя лично. 1. "Встроенный " tar и tar, установленный через "opkg install tar" работают по-разному. Как минимум, в первом нет ключей "--exclude" Дальнейшее относится к отдельно устанавливаемому tar-у. 2. Команда вида tar cvzf /opt/opkg_backup.tar.gz -C /opt работать не будет. Сработает либо tar cvzf /opt/opkg_backup.tar.gz /opt либо tar cvzf /opt/opkg_backup.tar.gz -C /opt . Важна точка на конце. Их различие прекрасно разжёвано тут: Для случая, если мы хотим восстановить бэкап через автоматическую распаковку архива из папки install, нам подходит только команда, оканчивающаяся на "-C /opt ." 3. В случае использования ключей --exclude вариант, который заработал через скрипт, имеет такой вид: tar --exclude=var/run/* cvzf /opt/opkg_backup.tar.gz -C /opt . При такой команде "/opt/var/run" войдёт в архив, но пустая. Если ввести "--exclude=var/run" - папки "run" вовсе не будет. Если ввести "--exclude=/opt/var/run/*" или "--exclude=/opt/var/run" - ключ "--exclude" не сработает. 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.