batonskij
-
Posts
59 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by batonskij
-
-
16 минут назад, gvan сказал:
Сам бэкап отрабатыает задачу и ошибок нет
Все верно, с этим никаких проблем.
17 минут назад, gvan сказал:Что значит невозможно восстановить? Какая ошибка возникает?
Обычно делаю так, форматирую флеш, если что-то пошло не так, создаю на ней папку install, туда закидывают файл бэкапа. Жму кнопки в веб морде роутера и жду, обычно все в течении 4-5 мин разворачивается.
Но если в файле бэкапа есть установленный HA, то все идет иначе, веб морда висит минут 10, далее на флешке в разделе под OPKG появляются не все папки и некоторая их часть зачеркнута.
-
Скриптом пользуюсь давно, все устраивало, но недавно заметил что невозможно восстановить при наличии в архиве Home Assistant. Что надо подправить?
Скрытый текст#!/opt/bin/sh # VERSION 2.1 # Скрипт сохраняет резервную копию entware, конфига роутера и прошивки prefix="/opt" PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin #===================================================================================== # Конфигурационные параметры скрипта #===================================================================================== # Префикс для записи сообщений в syslog TAG=Backup # Каталог, куда сохранять бэкапы BACSTORDIR=/tmp/mnt/HDD/Backup/Entware/ # Какие компоненты бэкапить (1|0) # Entware. Всегда сохраняется новая копия IsEnt=1 # Конфигурация роутера. Сохраняется копия, если были изменения в конфиге IsConf=1 # Прошивка. Создается резервная копия, если прошивка изменялась IsFirm=1 # Префикс для имени файла с бэкапом BACNAME=entware # Что архивировать BACDIR=/opt/ # Какие каталоги пропускать при бэкапе entware # EXCLUDE=" # tmp # var/log # share/nginx/html # var/mysql # " # При определении изменялся ли конфиг, не учитывать данные строки (через экраннированный символ "ИЛИ" -> "\|". # При сравнении копий конфига не учитываются служебные строки, начинающиеся на '! $$$', и строка 'clock date', т.к. она обновляется при считывании конфига # Лучше не трогать :) EXCLCONFCMD='\! \$\$\$\|clock date' # Путь к резервной копии прошивки на USB FLASH. Определить в CLI по команде 'ls ?'. Обычно это метка диска в виде 'LABEL:/' BACFIRMDIR=HDD:/Backup/Entware/ # Сколько дней хранить бэкапы. DAYSTOR=90 #===================================================================================== # Начало скрипта #===================================================================================== # Текущая дата для формирования имени файла с архивом DATE=`date +%Y-%m-%d` logger -t $TAG "Starting process" cd $BACDIR # Делаем архив entware if [ "$IsEnt" = "1" ] then logger -t $TAG "Starting backup entware" echo "$EXCLUDE" | tar -X - -cf - * | gzip > ${BACSTORDIR}${BACNAME}-${DATE}.tgz else logger -t $TAG "Skiping backup entware" fi # Делаем архив конфига if [ "$IsConf" = "1" ] then logger -t $TAG "Starting backup config" ndmq -p "show running-config" -P message > ${BACSTORDIR}config-${DATE} if [ -f "${BACSTORDIR}config-cur" ] then OLDCONF=`grep -v "${EXCLCONFCMD}" ${BACSTORDIR}config-cur` CURCONF=`grep -v "${EXCLCONFCMD}" ${BACSTORDIR}config-${DATE}` if [ "$OLDCONF" != "$CURCONF" ] then logger -t $TAG "Config is changed. Do new copy." cp -f ${BACSTORDIR}config-${DATE} ${BACSTORDIR}config-cur-new mv -f ${BACSTORDIR}config-cur ${BACSTORDIR}config-${DATE} gzip -f ${BACSTORDIR}config-${DATE} mv ${BACSTORDIR}config-cur-new ${BACSTORDIR}config-cur else logger -t $TAG "Config is not changed. Renew current config copy." mv -f ${BACSTORDIR}config-${DATE} ${BACSTORDIR}config-cur fi else logger -t $TAG "Current config copy not found. Is it first run? Do config copy." cp ${BACSTORDIR}config-${DATE} ${BACSTORDIR}config-cur gzip -f ${BACSTORDIR}config-${DATE} fi else logger -t $TAG "Skiping backup config" fi # Делаем архив прошивки if [ "$IsFirm" = "1" ] then logger -t $TAG "Starting backup firmware" REL=`ndmq -p 'show version' -P 'release'` ndmq -p "copy flash:/firmware ${BACFIRMDIR}firmware-${DATE}" -P message if [ -f "${BACSTORDIR}firmware-$REL" ] then CMPFIRM=`cmp ${BACSTORDIR}firmware-$REL ${BACSTORDIR}firmware-${DATE}` if [ -n "$CMPFIRM" ] then logger -t $TAG "Firmware is changed. Do new copy." cp -f ${BACSTORDIR}firmware-${DATE} ${BACSTORDIR}firmware-$REL-new mv -f ${BACSTORDIR}firmware-$REL ${BACSTORDIR}firmware-${DATE} mv ${BACSTORDIR}firmware-$REL-new ${BACSTORDIR}firmware-$REL else logger -t $TAG "Firmware is not changed. Renew current firmware copy." mv -f ${BACSTORDIR}firmware-${DATE} ${BACSTORDIR}firmware-$REL fi else logger -t $TAG "Current firmware copy not found. Is it first run? Do firmware copy." cp ${BACSTORDIR}firmware-${DATE} ${BACSTORDIR}firmware-$REL fi else logger -t $TAG "Skiping backup firmware" fi logger -t $TAG "Finished" cd $BACSTORDIR # Выводим в лог список удаленных файлов-архивов logger -t $TAG "Remove old archives" FILES=`find $BACSTORDIR -mtime +${DAYSTOR} -print -delete` logger -t $TAG "Removed: $FILES" logger -t $TAG "Exiting"
-
В 18.04.2022 в 20:36, TheBB сказал:
искать, где потерялось
все получилось, обновил пакет libffi
opkg upgrade libffi
-
echo "src/gz ha http://bin.entware.net/mipselsf-k3.4/test/HA" >> /opt/etc/opkg.conf opkg update opkg install homeassistant opkg install python3-pyturbojpeg opkg update python -m pip install pip==21.2.4 /opt/etc/init.d/S99hass start
~ # /opt/bin/hass -c /opt/var/lib/homeassistant --debug Traceback (most recent call last): File "/opt/bin/hass", line 33, in <module> sys.exit(load_entry_point('homeassistant==2022.4.4', 'console_scripts', 'hass')()) File "/opt/lib/python3.10/site-packages/homeassistant/__main__.py", line 281, in main File "/opt/lib/python3.10/site-packages/homeassistant/__main__.py", line 64, in get_arguments File "/opt/lib/python3.10/site-packages/homeassistant/config.py", line 54, in <module> File "/opt/lib/python3.10/site-packages/homeassistant/helpers/config_validation.py", line 83, in <module> File "/opt/lib/python3.10/site-packages/homeassistant/helpers/script_variables.py", line 9, in <module> File "/opt/lib/python3.10/site-packages/homeassistant/helpers/template.py", line 56, in <module> File "/opt/lib/python3.10/site-packages/homeassistant/util/thread.py", line 2, in <module> File "/opt/lib/python3.10/ctypes/__init__.py", line 8, in <module> ImportError: libffi.so.8: cannot open shared object file: No such file or directory
Ставлю в нуля, 2 дня бьюсь, никак не поднимается.
в ноябре игрался, не зашло, ради одного датчика не стал крутить HA на роутере, удалил, восстановил все с предыдущего бекапа.
после этого вапще ничего не менял в OPKG пакетах.
куда копать, что делать?
-
10 часов назад, MercuryV сказал:
или ПК из локальной сети роутера можете тором соединиться через известные мосты?
нет, не соединяется через общеизвестные мосты.
10 часов назад, MercuryV сказал:организовать где-то ещё свой мост и не светить его нигде
спасибо за совет, попробую.
-
Приветствую, кто уже столкнулся с нерабочим Tor? Все работало замечательно до позавчера, onion, на удаленных клиентах, настроено по статье с хабра. Неделю назад все сдохло, добавил мосты, несколько дней не было проблем. Мосты менял, не помогает. Есть решение?
-
5 часов назад, vadimbn сказал:
что-нибудь выдаст?
Скрытый текст~ # find /opt -name "libffi*" /opt/lib/opkg/info/libffi.control /opt/lib/opkg/info/libffi.list /opt/lib/libffi.so.7 /opt/lib/libffi.so.7.1.0
ЗЫ: как ни странно, заработало после повторного opkg update
Скрытый текст -
2 часа назад, vadimbn сказал:
что-нибудь выдаст?
Скрытый текст~ # find /opt -name "libffi*" /opt/lib/opkg/info/libffi.control /opt/lib/opkg/info/libffi.list /opt/lib/libffi.so.7 /opt/lib/libffi.so.7.1.0
Библиотеки старые?
-
14 часа назад, vadimbn сказал:
Пакет libffi установлен?
Скрытый текст~ # opkg info libffi Package: libffi Version: 3.4.2-1 Depends: libc, libssp, librt, libpthread Status: unknown ok not-installed Section: libs Architecture: mipsel-3.4 Size: 16242 Filename: libffi_3.4.2-1_mipsel-3.4.ipk Description: The libffi library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run-time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The libffi library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. A layer must exist above libffi that handles type conversions for values passed between the two languages. Package: libffi Version: 3.3-2 Depends: libc, libssp, librt, libpthread Status: install ok installed Architecture: mipsel-3.4 Installed-Time: 1603735790
Установлен
14 часа назад, vadimbn сказал:Вы через pip что-нибудь ставили?
Не припоминаю такого
-
Подскажите пожалуйста, как запустить?
Opkg давно установлено и замечательно работает.
Выполнил все из поста https://forum.keenetic.com/topic/9423-home-assistant/page/12/#comment-134317
Все завершилось без проблем, но веб морда HA не стартует, добавил opkg install python3-pyturbojpeg, не помогло.
Запустил hass вручную с отладкой, получил магические строки и приуныл
Скрытый текст~ # /opt/bin/hass -c /opt/var/lib/homeassistant --debug Traceback (most recent call last): File "/opt/bin/hass", line 33, in <module> sys.exit(load_entry_point('homeassistant==2021.11.3', 'console_scripts', 'hass')()) File "/opt/lib/python3.9/site-packages/homeassistant/__main__.py", line 281, in main File "/opt/lib/python3.9/site-packages/homeassistant/__main__.py", line 64, in get_arguments File "/opt/lib/python3.9/site-packages/homeassistant/config.py", line 58, in <module> File "/opt/lib/python3.9/site-packages/homeassistant/helpers/config_validation.py", line 77, in <module> File "/opt/lib/python3.9/site-packages/homeassistant/helpers/script_variables.py", line 9, in <module> File "/opt/lib/python3.9/site-packages/homeassistant/helpers/template.py", line 57, in <module> File "/opt/lib/python3.9/site-packages/homeassistant/util/thread.py", line 2, in <module> File "/opt/lib/python3.9/ctypes/__init__.py", line 8, in <module> ImportError: libffi.so.8: cannot open shared object file: No such file or directory
-
Камрады подскажите почему скрипт бэкапит прошивку и конфиг странно? Конфиг в архиве и без и файл прошивки под разными именами.
Скрытый текст -
Обновил скрипт, красивее конечно стало, но сломалось ручное обновление, куда копать?
файл /opt/etc/lighttpd/conf.d/30-cgi.conf - без изменений: ".cgi" => "/bin/sh"
в скрипте smarthtml USE_CGI_MODULE=1 выставил, что-то еще забыл?
-
24 минуты назад, Albram сказал:
Я не автор этого топика
Пардон, не заметил что автор топика beowulf0208.
Действительно, неплохо выглядит вторая версия, попробую после отпуска.
-
Albram, укажите пожалуйста в первом сообщении топика о том что в конфиге lighttpd.conf строка с портом по-умолчанию закомментирована. я несколько раз читал тему и пропускал про это и про cron, о том что без остановки или удалении сервиса правки внесенные в crontab не применяются.
И еще вопрос, можно ли реализовать подобное? Чтобы вместо e-mail оповещения приходили сообщения в телегу, тут ребята пишут что норм отправляется, но я увы не смог осилить.
Спасибо.
-
Догадался 😆 http://192.168.1.1:81/smart.html заработало )
- 1
-
Albram, спасибо , почти все завелось, но не работает мгновенное обновление. Перечитал тему несколько раз, вроде все рекомендации выполнил.
Может совсем глупо, не не понял что означает
Цитатанужно зайти по адресу \opt/share/www/ и открыть фаил smart.html
открываю в проводнике \\192.168.1.1\opkg\share\www\smart.html - так корректно?
или надо в браузере открывать? тогда адрес не могу подобрать //192.168.1.1:81\opkg\share\www\smart.html -? , lighttpd крутится на 81 порту
конфиг правильный в lighttpd.conf?
server.document-root = "/opt/share/www"
server.upload-dirs = ( "/tmp" )
server.errorlog = "/opt/var/log/lighttpd/error.log"
server.pid-file = "/opt/var/run/lighttpd.pid"
#server.username = "http"
#server.groupname = "www-data"index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm",
)static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
### Options that are useful but not always necessary:
#server.chroot = "/"
server.port = 81
#server.bind = "localhost"
#server.tag = "lighttpd"
#server.errorlog-use-syslog = "enable"
#server.network-backend = "writev"### Use IPv6 if available
#include_shell "/opt/share/lighttpd/use-ipv6.pl"#dir-listing.encoding = "utf-8"
#server.dir-listing = "enable"include "/opt/etc/lighttpd/mime.conf"
include "/opt/etc/lighttpd/conf.d/*.conf"
~ # ps | grep lighttpd
843 root 6064 S lighttpd -f /opt/etc/lighttpd/lighttpd.conf
6936 root 5000 S grep lighttpd
-
18 часов назад, Albram сказал:
А если так:
smartctl -a -d sat /dev/sdaО как, завелось по-моему, странно почти все ключи перепробовал после -d, sat прошляпил, ответ смущает, Not in smartctl database [for details use: -P showall] - не помешает?
Скрытый текст~ # smartctl -a -d sat /dev/sda smartctl 7.1 2019-12-30 r5022 [mips-linux-4.9-ndm-4] (localbuild) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: WDC WD20EZRZ-00Z5HB0 Serial Number: WD-WCC4M0KZNY1D LU WWN Device Id: 5 0014ee 2103e03ff Firmware Version: 80.00A80 User Capacity: 2,000,398,934,016 bytes [2.00 TB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Device is: Not in smartctl database [for details use: -P showall] ATA Version is: ACS-2 (minor revision not indicated) SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Fri Sep 18 14:55:26 2020 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x84) Offline data collection activity was suspended by an interrupting command from host. Auto Offline Data Collection: Enabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: (28320) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 285) minutes. Conveyance self-test routine recommended polling time: ( 5) minutes. SCT capabilities: (0x7035) SCT Status supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0027 175 168 021 Pre-fail Always - 4233 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 618 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0 9 Power_On_Hours 0x0032 098 098 000 Old_age Always - 1554 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 523 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 56 193 Load_Cycle_Count 0x0032 199 199 000 Old_age Always - 3930 194 Temperature_Celsius 0x0022 115 102 000 Old_age Always - 32 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0 SMART Error Log Version: 1 No Errors Logged SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 1115 - # 2 Short offline Completed without error 00% 211 - SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.
Скрытый текст~ # smartctl -d sat /dev/sda -l scttemp |grep Temperature Current Temperature: 31 Celsius Power Cycle Min/Max Temperature: 28/39 Celsius Lifetime Min/Max Temperature: 19/45 Celsius Under/Over Temperature Limit Count: 0/0 SCT Temperature History Version: 2 Temperature Sampling Period: 1 minute Temperature Logging Interval: 1 minute Min/Max recommended Temperature: 0/60 Celsius Min/Max Temperature Limit: -41/85 Celsius Temperature History Size (Index): 478 (230) Index Estimated Time Temperature Celsius
-
2 часа назад, Albram сказал:
А если так:
smartctl -a /dev/sdaЧто будет в выводе?
Скрытый текст~ # smartctl -a /dev/sda smartctl 7.1 2019-12-30 r5022 [mips-linux-4.9-ndm-4] (localbuild) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org /dev/sda: Unknown USB bridge [0x2109:0x0715 (0x000)] Please specify device type with the -d option. Use smartctl -h to get a usage summary
-
Скрытый текст
~ # smartctl -a -d scsi /dev/sda smartctl 7.1 2019-12-30 r5022 [mips-linux-4.9-ndm-4] (localbuild) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Vendor: WDC WD20 Product: EZRZ-00Z5HB0 Revision: 80.0 Compliance: SPC-4 User Capacity: 2,000,398,934,016 bytes [2.00 TB] Logical block size: 512 bytes Physical block size: 4096 bytes Serial number: 000000123AE3 Device type: disk Local Time is: Wed Sep 16 21:29:32 2020 MSK SMART support is: Available - device has SMART capability. SMART support is: Disabled Temperature Warning: Disabled or Not Supported === START OF READ SMART DATA SECTION === SMART Health Status: OK Current Drive Temperature: 0 C Drive Trip Temperature: 0 C Error Counter logging not supported Device does not support Self Test logging
Скрипт не заведется?
-
Приветствую всех, прошу не запинывать сразу тапками, новичок...
Использовал скрипт Geont ,все замечательно работает, пытался к нему приладить кусочек отвечающий за нотификации через Telegram, спотыкается, куда копнуть? Кусочек просто вставил в конец скрипта, так нельзя?
#!/opt/bin/sh ConnName=Rostelecom counter=/opt/tmp/CountReconnectWan.txt previp=/opt/tmp/previp.txt max_tries=10 LIST=`ndmq -p 'show interface' -x | xml sel -t -m '//interface[link="up"][state="up"][global="yes"][defaultgw="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n` echo "$LIST" | grep -iwq "$ConnName" || exit 0 _ip=`echo "$LIST" | cut -d, -f3` _prov=`echo "$LIST" | cut -d, -f2` _iface=`echo "$LIST" | cut -d, -f1` _via=`echo "$LIST" | cut -d, -f4` if echo "$_ip" | grep -qE "^(10\.|100\.6[4-9]\.|100\.[7-9][0-9]\.|100\.1[01][0-9]\.|100\.12[0-7]\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[01]\.)"; then [ -f "$counter" ] || echo "0" > $counter try_nr=$(cat $counter) try_nr=$((++try_nr)) if [ $try_nr -gt $max_tries ]; then echo "0" > $counter logger -t white_ip[$$] "Provider: $_prov, interface: $_iface. Too much tries. Exit" exit fi echo "$try_nr" > $counter logger -t white_ip[$$] "Provider: $_prov, interface: $_iface. Reloading WAN due grey IP - $_ip. Try $try_nr of $max_tries." ndmq -p "interface $_iface no connect via $_via" -P message sleep 5 ndmq -p "interface $_iface connect via $_via" -P message else echo "0" > $counter [ -f "$previp" ] || echo "0.0.0.0" > $previp _previp=$(cat $previp) if [ "$_previp" != "$_ip" ]; then logger -t white_ip[$$] "Provider: $_prov, interface: $_iface, white IP - $_ip." echo "$_ip" > $previp fi fi /opt/bin/tg_say.sh "Force reconnect to get real IP (try $try_nr of $max_tries)." echo "$try_nr" > $counter ndmq -p "no interface $interface connect" sleep 5 ndmq -p "interface $interface connect" echo '0' > $counter fi
Периодическое резервное копирование entware, конфига и прошивки
in Каталог готовых решений Opkg
Posted · Edited by batonskij
Очень похоже на то, потому что разница между без HA и с HA развернутых пакетов 80 мб против 450 мб.
Попробую командой tar когда в следующий раз сломаю.
нет, речь идет о штатном установщике OPKG пакетов