Jump to content

Search the Community

Showing results for tags 'cron'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Keenetic Community
    • Keenetic Development
    • Keenetic Community Support
    • KeeneticOS Testing
    • Mobile App
  • Open Package Support
    • Opkg Help
    • Opkg Cookbook
    • Opkg Cookbook RUS

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location


Web-site


Interests


Occupation


AOL Account


ICQ Account


WLM


YAHOO


Facebook Account


Twitter Account


Skype Account


Youtube Account


Google+ Account


Keenetic

Found 21 results

  1. На форуме уже пару раз возникал вопрос о периодическом бэкапе конфига. Но не менее обидно потерять свои наработки в entware. В данной статье выложен простой скрипт, который запускается по cron и сохраняет содержимое /opt, конфига и прошивки. Есть возможность отказаться от бэкапа любого из указанных компонентов. Резервная копия прошивки не сжимается архиватором, т.к. файл прошивки и так уже максимально упакован. Старые архивы в соответствии с установленным интервалом времени удаляются. Предварительно необходимо изменить настройки скрипта в разделе конфигурационных параметров. Данная резервная копию может использоваться как для полного, так и частичного восстановления entware. Информация об этом дана в конце статьи. Для нормальной работы cron entware д.б. установлена на раздел с файловой системой ext2/ext3/ext4. Устанавливаем и запускаем cron opkg install cron /opt/etc/init.d/S10cron start В каталоге /opt/etc/cron.daily создаем файл backup и размещаем в нем следующий код: Делаем файл backup исполняемым: chmod +x backup В данном скрипте предусмотрено исключение определенных каталогов (например, tmp, var/log). Бэкап производится на другой диск (флэшку). Если будете бэкапить содержимое на этот же диск, не забудьте добавить каталог с архивами в исключение. Иначе скрипт будет выполняться, пока не закончится место на диске. Архивы хранятся 8 дней (переменная DAYSTOR). Новый архив конфига создается только в том случае, если произошло его изменение. При этом не учитывается MD5 и строка "clock date". Информация о ходе бэкапа передается в syslog. Если эта информация нужна, и syslog у вас еще не настроен, то рекомендую его включить, как указано в соответствующей статье. Если не нужна, то ничего делать не нужно. Как минимум в данном коде вам необходимо изменить переменные BACSTORDIR и BACNAME. Всё. Каждую ночь будет сохраняться свежая копия entware и конфига роутера. Использование сохраненной резервной копии. По восстановлению конфига роутера вопросов возникнуть не должно. Распаковываем файл командой gzip, копируем его себе на устройство и далее его можно загрузить в роутер через соответствующий пункт в веб-интерфейсе ("Система-Файлы"). Пример команды для распаковки конфига: gzip -d config-2016-11-29.gz Таким же образом можно воспользоваться сохраненным файлом прошивки. Теперь о том, для чего делается резервная копия entware и как можно использовать полученный архив. Возможны случаи, когда мы наставили большое количество пакетов (какие не помним, они начали работать некорректно и т.п.), но точно знаем что хотелось бы вернуться на состояние "как было пару дней назад". Или еще хуже в результате экспериментов удалили системные файлы entware, полностью нарушив ее работу. Или вышел из строя диск (флэшка). 0. Подготовительная стадия. Предполагается, что у нас есть чистая entware, используемая для функции восстановления. Например, отдельная флэшка или раздел на диске/флэшке (далее диск восстановления - ДВ). На нем предварительно установлены утилиты для работы с диском (создания разделов, форматирования файловой системы): opkg install fdisk tune2fs e2fsprogs Через веб-интерфейс в разделе "Приложения-OPKG" подключаем entware с ДВ. 1. Создание раздела на диске. В моем примере восстановление entware будет выполняться на второй раздел флэшки (диск /dev/sda). ДВ находится на первом разделе флэшки. Используемая файловая система для entware - ext2 Создаем раздел диска через fdisk. Если на новом диске есть какие-то не нужные разделы, то их также можно удалить (см. help по команде "m"). 2. Форматирование раздела. Создаем ФС ext2 с меткой KINGSTON2 и UID (для удобства работы c OPKG) 00000000-0000-0000-1111-000000000002: Создаем каталог /tmp/mnt/KINGSTON2 и монтируем вновь созданную ФС: mount /dev/sda2 /tmp/mnt/KINGSTON2 Предполагаем, что архив entware уже находится на ДВ в /opt/tmp/king3-2016-12-06.tgz 3. Восстановление и запуск entware. Запускаем восстановление entware и создаем каталоги, которые мы не включили в резервную копию: Запускаем восстановленную entware в веб-интерфейсе. Примечание: Пункты 0-2 можно пропустить, если раздел для entware создается на каком-то другом устройстве (например, ПК). Также для простоты, используя midnight commander (opkg install mc), можно в архиве entware просмотреть интересующие нас файлы или скопировать их в какой-то другой каталог. Возможно извлечение и просмотр отдельных файлов и через команду tar.
  2. Предложу вывести состояние расписания на главную - ВКЛ/ВЫКЛ, что, в какое время. Был у меня случай, когда включил интернет по расписанию (выключать на ночь) и забыл. Утром рано встал, нужен был интернет, а его нет. Я звонил провайдеру. А оказалось все просто - смотри выше. Вот такое предложение. Поддержите, если считаете полезным.
  3. Доброго времени суток! Очень нужна данная функция для 4G III чтобы обойти аналогичную проблему (не помогают ни pingcheck, ни USB-хаб/Y-кабель с питанием).
  4. Здравствуйте. В своём "ULTRA 2" обнаружил, что единственный способ отключения светодиодных индикаторов - это назначить эту функцию какой-то из кнопок. Добавьте, пожалуйста, опцию, в раздел "Кнопки и индикаторы". Так-же было бы хорошо, если бы можно было включать и отключать индикаторы по расписанию. Ещё заметил, что отключаются только те индикаторы, что на передней панели. Существует ли софтовая возможность отключить задние индикаторы, те что на портах ethernet? Спасибо.
  5. Ссылаясь на тему включение и отключение wi-fi по расписанию, предлагаю расширить функционал новой команды schedule, чтобы ее можно было применить для временного ограничения скорости устройств по расписанию, например, по подобию полного ограничения выхода в интернет командой ip hotspot ( ip hotspot host {mac-address} schedule {schedule} ). В моем случае было бы круто обложить правилом trafficcontrol по расписанию какой ни будь хост в локальной сети. С ip hotspot интернет выключается полностью и умные устройства это чувствуя, переходят на мобильные данные и съедается незаметно весь траффик. Как хотелось бы: Создаю расписание. (config)> schedule trafficshape Core::Schedule::Manager: Created schedule "trafficshape". Прописываю время старта и конца действия. (config-sched)> action start 30 0 * Core::Schedule::Manager: Updated schedule "trafficshape". (config-sched)> action stop 0 6 * Core::Schedule::Manager: Updated schedule "trafficshape". (config-sched)>exit Узнаю мас известного уже хоста и прописываю к нему правило шейпинга и привязываю его наподобие как в случае с ip hotspot чуть повыше (это уже пожелание, конечно не работает, возможно ли такое прикрутить) (config)>ip traffic-shape host cc:5d:4e:4c:f5:34 rate 64 schedule trafficshape ------------ По ответу уважаемого Le ecureuil Сегодня обсуждали именно эту фичу, препятствий к реализации нет. Думаю именно в близком к вашему варианту и будет реализовано. -------------- P.S. Думаю, есть смысл имхо каким-то образом вообще расширить функционал CLI команды schedule для широкого спектра функционала для ее использования с различными командами cli, которые только могут потребовать что то делать по расписанию, по подобию cron.
  6. Добрый день! Очень хочется иметь уменьшение скорости по расписанию. Ребенок в своей комнате имеет компьютер, довольно часто учит уроки далеко за полночь, и интернет ему нужен, поэтому совсем отключать интернет вечером не хочется, но есть желание, чтобы часов в 11 вечера обрезать ему скорость, чтобы кино смотреть уже не мог, пусть высыпается хоть иногда )))
  7. Появилась необходимость реализовывать DDNS не через полу-бесплатные сервисы вроде no-ip, а используя сторонний сервис, CloudFlare, который имеет свой API для изменения адресов. Всё что нужно, это выполнять этот скрипт при старте роутра и по cron каждые сутки. Из зависимостей только curl. Как это можно реализовать?
  8. Добрый вечер, собственно по мотивам страждущих перезагружать модем по расписанию и прочих подобных хотелок. Сделайте универсальное решение с возможностью выполнить произвольную команду cli по расписанию для того чтобы одной фичей закрыть сразу большой круг текущих и будущих хотелок связанных с расписанием, а не делать отдельно на каждую конкретную хотелку( будь то отключение лампочек по расписанию, отключение клиентов по расписанию и т.п.)
  9. Проблема обсуждалась здесь - и после добавления в версию 2.09.A.7.0-0 всё заработало нормально, модем отключался по расписанию и после включения IP был другим (сессия перезапускалась). Модем E3372s (режим NDIS) работал в сети 3G (4G был не доступен), а после того как оператор поставил около нашего дачного кооператива вышку 4G, IP после отключения и подключения модема остаётся тем же. Перезапуск модема кнопкой в веб-интерфейсе отрабатывает нормально, IP меняется. Можно ли поправить? А в идеале всё-таки нужно обесточивание USB порта по расписанию, тогда и модемы в режиме HiLink будут гарантировано разрывать сессию в нужное время для старта "ночного безлимита".
  10. Зажигаем и гасим светодиоды на роутерах Keenetic по расписанию Внимание! Начиная с версии 2.08.A.12.0-0, включение светодиодов возможно встроенными средствами CLI роутера: Создать расписание и настроить его с 22:00 по 6:00 : (config)> schedule ledCore::Schedule::Manager: Created schedule "led". (config-sched)> action start 00 22 * Core::Schedule::Manager: Updated schedule "led". (config-sched)> action stop 00 6 * Core::Schedule::Manager: Updated schedule "led". Привязать к передней панели со светодиодами и созданному расписанию led, как выше: (config)> system led shutdown front schedule led И сохранить (объязательно!) конфигурацию: (config)> system configuration save Все, в назаченное время по расписанию передняя панель светодиодов отключается и включается. То же самое, что до этой прошивки было возможно только средствами OPKG (cron / crontab), как описано ниже. ----- Продолжение серии тем по расписанию от @Aлександра Рыжова и некоторых моих ранее на вариации ограниение скорости по расписанию... Актуально, пока еще это не реализовано средствами самой прошивки роутера.... Честно признаюсь, что тема была даже больше создана с целю протестировать новый драйвер NTFS , который добавили в последнее обновление прошивки v2.08(AAUX.3)A7 и функции включения и отключения LED для Ultra-II / Giga-III, поэтому 100% гарантировать никто ничего не может, но у меня пока все работает нормально. Сначала установите на свой роутер последнюю экспериментальную прошивку с поддержкой функции LED- гашения и зажигания светодиодов. 1. Только (!!!) для варианта работы на файловых системах EXT2/3/4, не будет работать на NTFS (vixie's cron). Для устрановки cron из busybox для NTFS см. ниже, п.2. Внимание!!! Не ставить этот вариант, если у вас файловая система диска NTFS, будут сыпаться в лог ошибки по ядру, проверенно только что и 100%! Восстановление симлинка как ранее, на busybox и его установка старым способом opkg install --force-reinstall busybox из за новых введенных ограничений больше не работает, придется переустанавливать busybox вместе по новой с opkg!!! (только так я с этим управился лично). • Инсталлируем планировщик cron opkg install cron • Если у вас еще непроисталлирован nano и (или) эмулятор командной строки CLI ndmq (только если его сносили по каким-то причинам, стандартно уже в системе), то сделаете это: opkg install nano opkg install ndmq • редактируем конфигурационный файл cron: nano /opt/etc/crontab Отредактировать файл /opt/etc/crontab, добавив в него следующие строчки: # Your LED control schedule for front leds # 48 15 * * * root ndmq -p 'system led shutdown front' -P message 49 15 * * * root ndmq -p 'no system led shutdown' -P message Где 48 15 и 49 15 соответсвенно время включения в 15:48 и выключения в 15:49, меняйте на свое время, какое вам нужно. Для отключения всех светодиодов укажите вместо system led shutdown front следующее system led shutdown back или все если хотите гасить, то system led shutdown all. • Запустить cron вручную или перезагрузить роутер: /opt/etc/init.d/S10cron start 2. Для варианта работы на файловых системах NTFS (busybox crontab). Этот вариант несколько сложнее первого, но на данной файловой системе должен работать без проблем и не вызывать ошибок ядра (так как на этой файловой системе нет правильной поддержки атрибутов для vixie's cron). Если у Вас ntfs - используйте именно этот вариант из установленного busybox. • Если у вас еще непроисталлирован nano и (или) эмулятор командной строки CLI ndmq, то сделаете это: opkg install nano opkg install ndmq • Для создания заданий crontab для него необходимо создать файл заднаний crontabs и его папку на вашем внешнем диске mkdir -p /opt/var/spool/cron/crontabs • Первый раз создать и потом всегда редактировать файл настроек нужно следующим вводом команды: EDITOR='/opt/bin/nano' crontab -e Формат файла cronttab немного отличается. Для апплета на одно поле меньше, т.к. не указывается от какого юзера выполнять задание. В первый раз откроется естественно совершенно пустой файл, в который мы пропишем следующее: PATH=/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin # Your LED control schedule for front leds # 43 16 * * * ndmq -p 'system led shutdown front' -P message 44 16 * * * ndmq -p 'no system led shutdown' -P message Где 43 16 и 44 16 соответсвенно время включения в 16:43 и выключения в 16:44, меняйте на свое время, какое вам нужно. Для отключения всех светодиодов укажите вместо system led shutdown front следующее system led shutdown back или все если хотите гасить, то system led shutdown all. Потом жмем Ctrl+X, соглашаемся Y, сохраняем файл. Посмотреть, что он действительно появился и сохранился, можно в папке на вашем диске, которую мы ранее создали /opt/var/spool/cron/crontabs (папка на вашем_Диске/var/spool/cron/crontabs) • Чтобы crond каждый раз запускался автоматически, файл-скрипт S05crond в папке /opt/etc/init.d nano /opt/etc/init.d/S05crond и наполним его следующим содержанием Потом жмем Ctrl+X, соглашаемся Y, сохраняем файл. Посмотреть, что он действительно появился и сохранился, можно в папке /opt/etc/init.d (Ваш_Диск/etc/init.d) • Делаем его исполняемым chmod +x /opt/etc/init.d/S05crond • Запускаем планировщик заданий через созданный скрипт в init.d: /opt/etc/init.d/S05crond start или просто перегрузив ваш роутер. ------------------------------------------------------------------------- ------------------------------------------------------------------------- Если все в порядке, в установленное время появятся в логе строчки: И светодиоды в установленное время погаснут и потом сново же загорятся. * Почему-то сессию ndmq в последней версии v2.08(AAUX.3)A7 стал воспринимать как obsoleted (устаревшую), почему, я так не понял. Остается гадать, что именно происходит, к сожелению, может знающие прокомментируют. Но работает пока все вполне в пределах нормы. Успехов!
  11. Добрый день, Столкнулся с проблемой, на даче установлен роутер Zyxel Keentic II + USB модем Билайн, интернет нужен постоянно для работы сигнализации и видеоконтроля. Проблема, что периодически - через день или через неделю - зависает USB модем, при этом встроенная фича PingCheck не помогает, модем остается в режиме резервирования и соединения нет до перезагрузки роутера или если вынуть вставить модем. Хотелось бы иметь возможность резервных вариантов для данной проблемы - 1 периодическая перезагрузка роутера по расписанию, 2 скрипт который бы отключал питание УСБ модема в случае потери интернет соединения. В сети нашел скрипт для отключения питания юсб: #!/bin/sh #logger "Test modem reboot script." ping -c 5 8.8.8.8 if [ $? != 0 ]; then logger "INTERNET - OFF! Reboot USB Modem!" logger "USB power - OFF!" ledctl 53 ledctl 55 sleep 5 logger "USB power - ON!" ledctl 52 ledctl 54 fi команды для управления питанием:ledctl 52 - Power ON (USB - Omni, USB2 - Keenetic II/Keenetic Giga II/Keenetic Ultra)ledctl 53 - Power OFF (USB - Omni, USB2 - Keenetic II/Keenetic Giga II/Keenetic Ultra)ledctl 54 - Power ON (USB1 - Keenetic II/Keenetic Giga II/Keenetic Ultra)ledctl 55 - Power OFF (USB1 - Keenetic II/Keenetic Giga II/Keenetic Ultra) Автор использовал модифицированную прошивку с поддержкой cron. Хотелось бы установить данный скрипт на свой роутер. Как я понял нужно: Установить Entware, Установить необходимые пакеты: opkg install cron потом создать файл со скриптом и поместить (не знаю куда), установить правильные атрибуты файла (не знаю какие). Так же хотелось бы иметь возможность перезагрузки роутера по расписанию - скажем 1 раз в день. Помогите пожалуйста разобраться.
  12. Добрый день. Хочу поделиться наколенным решением: как я отключал Интернет на iPhone на ночь. AP в Keenetic Ultra умеют черный и белый списки. В них можно добавлять MAC адреса зарегистрированных устройств. Если зарегистрировать iPhone и включить "черный список" на точках (у меня две точки -- 2.4 и 5) то добавление в их список этого мака приведет к его блокировке. А для добавления/удаления его из этого списка можно использовать cron и ndmq. Вот выдержка из моего конфига: # Это детский Iphone и его mac known host iphone xx:xx:xx:xx:xx:xx # Это 2.4 interface WifiMaster0/AccessPoint0 name AccessPoint ... mac access-list type deny # черный список # 5 interface WifiMaster1/AccessPoint0 name AccessPoint_5G .. mac access-list type deny Теперь добавить MAC в список в CLI можно так: "interface WifiMaster1/AccessPoint0 mac access-list address <тут-идет-мак>". # В домашней папке сделал такой простой скрипт ~ # cat switch.sh #!/opt/bin/sh MAC="...." # тут наш мак COMMAND="interface WifiMaster0/AccessPoint0 mac access-list address $MAC" # комманда на 2.4 COMMAND_2="interface WifiMaster1/AccessPoint0 mac access-list address $MAC" # на 5. Проверьте через обычный CLI что работает! # Если передали аргумент то дописываем "no": получается обратный эффект: мак из списка убирают if [ $1 ]; then COMMAND="no $COMMAND" COMMAND_2="no $COMMAND_2" fi # ndmq -p дает нам делать тоже самое что можно делать через CLI по telnet ndmq -p "$COMMAND" ndmq -p "$COMMAND_2" ~# opkg install cron # ставим крон ~# /opt/etc/init.d/S10cron start # запускаем его (после перегрузки поднимится сам потому что файл исполняемый ~# vi /opt/etc/crontab # правим его 0 23 * * * root /opt/root/switch.sh # в 11 вырубаем 0 8 * * * root /opt/root/switch.sh enable # в 8 врубаем # не забудьте что в конце crontab должна быть или пустая строка или коммент!! Всё. Теперь крон вечером запустит скрипт и добавит мак адрес в черный список, а утром уберет.
  13. Добрый день! Помогите пожалуйста новичку. Как правильно реализовать перезагрузку роутера по расписанию. Прочитал родственную тему: "Включение и отключение Wi-Fi по расписанию" Установил cron. Как теперь настроить cron, чтобы, например, роутер перезагружался каждый день в 4 часа ночи. И еще вопрос: можно ли как то реализовать следующую задачу: если недоступен WIFI для мобильного клиента (т.е. подключение есть, а в инет не выходит. При этом кабельное соединение работает) - перегрузить роутер. ??? Keenetic Giga II v2.06(AAFS.0)B4 Спасибо.
  14. Если вы задались задачей собирать логи (журналы работы) системы в отдельный файл, который не стирается после перезагрузки роутера, то, скорее всего, через некоторое время столкнетесь с проблемой, когда размер лога станет занимать значительный объем диска. Задача по включении системного логирования во внешний лог описывается в соответствующей теме "Запись syslog на внешний USB-диск с помощю Syslog-ng", (автор Roman_Petrov). Здесь рассмотрим непосредственно механизм ротации логов. 1. Необходимо установить через opkg пакеты logrotate и cron. Cron нужен для периодического запуска logrotate. А logrotate в свою очередь требуется для проверки необходимости ротации логов и непосредственно их ротации в соответствии с заданными условиями (например, интервал времени и объем). С cron могут возникнуть проблемы, если файловая система диска fat или ntfs, т.к. на конфигурационных файлах будут неправильные (с точки зрения linux/cron) атрибуты файлов. И задачи просто не будут запускаться. Решение имеется, но нужно ставить crontab из busybox (п.2). Второй и третий вариант решения проблемы с cron и ntfs/fat - это изменить файловую систему подключенного диска на ext2 или ext3, либо поставить поддержку opkg на отдельную флэшку (раздел) с ext2/ext3 (если, не хочется возиться с преобразованием основного диска). Для себя я выбрал третий вариант (хотя и на диске с файлами у меня ext3). Но т.к. основной диск у меня используется редко, и я хочу, чтобы он "засыпал" и отключал питание, то все логи пишу на отдельную флэшку (достаточно будет размером 1 Гб). 2. Настраиваем ротацию логов. Основной конф /opt/etc/logrotate.conf не трогаем и делаем отдельную конфигурацию для ротации файла /opt/var/log/messages (таким же образом можно будет настроить ротирование и других логов, если они у вас имеются - например, от прокси). Для этого в подключаемом по-умолчанию каталоге /opt/etc/logrotate.d (указано в основной конфигурации /opt/etc/logrotate.conf) создаем конф-файл messages и добавляем в него следующие строки: Здесь ротация производится по достижению размера лога 1Мб, хранится всего три последних файла. После ротации лога перезапускается сервис syslog-ng (нужно для правильного продолжения записи в новый лог). С учетом основной конфигурации (см. файл /opt/etc/logrotate.conf, опция weekly) ротация лога будет производиться каждую неделю или же при достижении объема 1Мб. Можно почитать в инете мануал для более тщательной настройки logrotate. Например, чтобы делать ротацию не только по размеру, но и по времени. Можно также сжимать архивные файлы логов. Перевод документации по logrotate можно посмотреть на сайте OpenNET. 3. Далее настраиваем cron в основном файле /opt/etc/crontab. Т.к. по-умолчанию задач, выполняемых ежедневно, еженедельно и т.п., у меня нет, то он выглядит так: Раскоментарена только строка для выполнения ежедневных задач. По-умолчанию после установки cron запускаются все задачи (все строки раскоментарены). Т.е. можно данный файл и не изменять, но при этом в /opt/var/log/messages при выполнении этих задач-заглушек (с частотой, как минимум 1 минута) будет появляться соответствующая запись о выполнении данной задачи. Поэтому решать вам. Нужно также перезапустить службу cron. Для этого необходимо выполнить команду с консоли: /opt/etc/init.d/S10cron restart 4. Добавляем в cron задачу, которая будет выполняться один раз в сутки. Для этого в каталоге /opt/etc/cron.daily размещаем исполняемый файл. Я его назвал /opt/etc/cron.daily/logrotate . В нем размещены следующие команды: Исполняемым файл можно сделать через пакет mc (файловый менджер - must have) или с командной строки: chmod 755 /opt/etc/cron.daily/logrotate Можно проверять необходимость ротации логов чаще, а не только раз в сутки. Для этого нужно раскоментировать соответствующие записи /opt/etc/crontab и поместить задачу logrotate в соответствующий каталог. Но, как правило, в нашем случае логи быстро не увеличивают размер и в этом необходимости нет. Обращаю внимание, что linux очень часто плохо относится к тому, если в текстовых конф-файлах и т.п. последняя строка не заканчивается символом возврата каретки. Поэтому необходимо после последней строки в файле нажимать Enter для перевода курсора на новую пустую строку. В приведенных мной примерах эта пустая строка имеется. Всё. Если хочется сразу проверить ротацию лога вручную (и его размер в соответствии с конфом уже больше 1Мб), то команду ротации можно принудительно выполнить с консоли (или просто запустить исполняемый файл-задачу): /opt/sbin/logrotate /opt/etc/logrotate.conf или (т.к. файл у нас уже исполняемый) запустить задачу /opt/etc/cron.daily/logrotate
  15. Пожелание! И вопрос, можно надеяться на фунционал? Хочется иметь возможность отключать интернет (по расписанию тоже) не только по IPv4, но и IPv6 при нативной поддержке провайдером и туннелей.
  16. Приветствую. Есть ли уже какой-то стандартный способ по времени бокировать доступ к каким-то сетевым ресурсам (например, youtube.com и его поддомены) в рабочее время? Вечером и в выходные - можно.
  17. Здравствуйте, помогите убрать спам от cron вроде этого: cron[566](root) CMD (/opt/bin/run-parts /opt/etc/cron.5mins^I) cron[567](root) CMD (/opt/bin/run-parts /opt/etc/cron.1min^I) cron[573](root) CMD (/opt/bin/run-parts /opt/etc/cron.1min^I) В других местах советуют редактировать файл etc/syslog.conf, которого у нас не существует. Версия NDMS v2.06(AAUW.5)A7, Cron из Entware-Keenetic.
  18. Внимание! Данный способ является альтернативой новой NDM команде CLI schedule, которая на данный момент успешно развивается и дополняется возможностями. Как это сделать теперь штатными средствами роутера, читайте в моем сообщении ниже Trafficshape по расписанию встроенными средствами роутера, используя командную строку CLI. Если все же нет возможности или не поддерживается номером вашей прошивки, то можно следовать инструкциям ниже. За основу используется материал Александра Рыжова из данной темы по ссылке здесь >>> и материал Zyxmon из темы на его форуме >>> На самом деле здесь нет ничего сложного. Каждый, более или менее знакомый с основами работы OPKG и консолью PuTTY, что-то слышал о CLI и командной строке, легко справиться. На базе данного материала, можно заставить планировщик задач выполнять практически любые задачи, которые доступны для вашего роутера через командную строку CLI. Но рассмотрим конкретно возможность ограничения скорости для конкретных клиентов любого сегмента сети по расписанию, так как в моем конкретном случае было интересно обложить правилом trafficcontrol по расписанию какой ни будь хост в локальной сети, так как, если интернет выключается полностью или совсем отключается Wi-Fi, умные устройства переходят на мобильные данные и съедается незаметно весь траффик. Вариант 1. Для варианта работы на файловых системах EXT2/3, не будет работать на NTFS !!! (vixie's cron) • Инсталлируем планировщик cron: opkg install cron • Если у вас еще непроисталлирован nano: opkg install nano • редактируем его конфигурационный файл: nano /opt/etc/crontab Отредактировать файл /opt/etc/crontab, добавив в него следующие строчки: # Your traffic control schedule for selected host # 30 00 * * * root ndmq -p 'ip traffic-shape host ee:cc:bb:dd:99:44 rate 64' -P message 00 06 * * * root ndmq -p 'no ip traffic-shape host ee:cc:bb:dd:99:44' -P message Внимание! Есть небольшой нюанс при ограничении скорости хостов, они (их MAC адрес) должны быть зарегистрированы в системе на вкладке Устройства (hosts) или с помощью команды в CLI: known host {name} {mac-address} (имя произвольное), иначе скорость на хост ограничена не будет и будет выдана ошибка в логе: Jul 29 16:10:00ndm TrafficControl::Manager: no "cc:5d:4e:4c:f5:35" MAC address in the known host list. • Запустить cron вручную или перезагрузить роутер: /opt/etc/init.d/S10cron start ---------- Вариант 2. Для варианта работы на файловых системах NTFS (busybox crontab). Этот вариант несколько сложнее первого, но на данной файловой системе должен работать без проблем и не вызывать ошибок ядра (так как на этой файловой системе нет правильной поддержки атрибутов для vixie's cron). Если у Вас ntfs - используйте именно этот вариант из установленного busybox. • Если вы по ошибке на файловую систему NTFS проинсталлировали cron и в результате этого у вас начали возникать ошибки ядра системы, то его необходимо удалить и переустановить busybox (для восстановления бинарника crontab) , восстановить симлинк: opkg remove cron opkg install --force-reinstall busybox В результате у Вас восстановится симлинк, проверить можно вводом команды: ~ # >ls -al /opt/bin/cro* Если все произошло успешно, то будет выдано нечто подобное: lrwxrwxrwx 1 root root 16 Jul 26 11:51 /opt/bin/crontab -> /opt/bin/busybox • Если у вас еще непроисталлирован nano, то сделаете это: opkg install nano • Для создания заданий crontab для него необходимо создать файл заднаний crontabs и его папку на вашем внешнем диске mkdir -p /opt/var/spool/cron/crontabs • Первый раз создать и потом всегда редактировать файл настроек нужно следующим вводом команды: EDITOR='/opt/bin/nano' crontab -e Формат файла cronttab немного отличается. Для апплета на одно поле меньше, т.к. не указывается от какого юзера выполнять задание. В первый раз откроется естественно совершенно пустой файл, в который мы пропишем следующее: PATH=/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin # Your traffic control schedule for selected host # 30 00 * * * ndmq -p 'ip traffic-shape host ee:cc:bb:dd:99:44 rate 64' -P message 00 06 * * * ndmq -p 'no ip traffic-shape host ee:cc:bb:dd:99:44' -P message Внимание! Есть небольшой нюанс при ограничении скорости хостов, они (их MAC адрес) должны быть зарегистрированы в системе на вкладке Устройства (hosts) или с помощью команды в CLI: known host {name} {mac-address} (имя произвольное), иначе скорость на хост ограничена не будет и будет выдана ошибка в логе: Jul 29 16:10:00ndm TrafficControl::Manager: no "cc:5d:4e:4c:f5:35" MAC address in the known host list. Потом жмем Ctrl+X, соглашаемся Y, сохраняем файл. Посмотреть, что он действительно появился и сохранился, можно в папке на вашем диске, которую мы ранее создали /opt/var/spool/cron/crontabs (папка на вашем_Диске/var/spool/cron/crontabs) • Чтобы crond каждый раз запускался автоматически, файл-скрипт S05crond в папке /opt/etc/init.d nano /opt/etc/init.d/S05crond и наполним его следующим содержанием #!/bin/sh CRON="/opt/sbin/crond" export PATH=/opt/bin:/opt/sbin:/sbin:/usr/sbin:/bin:/usr/bin start() { $CRON -L /dev/null } stop() { killall crond } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $0 {start|stop}" ;; esac Потом жмем Ctrl+X, соглашаемся Y, сохраняем файл. Посмотреть, что он действительно появился и сохранился, можно в папке /opt/etc/init.d (Ваш_Диск/etc/init.d) • Делаем его исполняемым chmod +x /opt/etc/init.d/S05crond • Запускаем планировщик заданий через созданный скрипт в init.d: /opt/etc/init.d/S05crond start или просто перегрузив ваш роутер. ****** Коментарии. 1. Есть небольшой нюанс при ограничении скорости хостов, они (их MAC адрес) должны быть зарегистрированы в системе на вкладке Устройства (hosts) или с помощью команды в CLI: known host {name} {mac-address} (имя произвольное) 2. Признаком успешной работы будут являтся следующие срочки в логе роутера: Jul 29 13:22:00ndmCore::Server: started Session 127.0.0.1:38686. Jul 29 13:22:00ndmTrafficControl::Manager: "ee:cc:bb:dd:99:44" host rate limited to 64 Kbits/sec. Jul 29 13:22:00ndmCore::Session: client disconnected. Jul 29 13:22:02ndmkernel: SWNAT bind table cleared 3. Оба варианта проверены и работают на Ultra 2, на других не тестировались. Прошу по возможности отписаться, как получилось, и комментировать, что можно было бы улучшить. Успехов!!!
  19. Прошу о помощи. Аппарат GIGA 2 прошивка 2.08 + Entware-3x + cron Все это делалось для перезагрузки роутера раз в один час (для смены ip адресов) SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin MAILTO="" HOME=/ # ---------- ---------- Default is Empty ---------- ---------- # */1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min */5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins 01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly 02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily 22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly 42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly 50 22 * * * reboot Команда 50 22 * * * reboot не выполняется может ее нужно как то по другому прописать. Или какую другую команду для переподключения PPPoE0 подключения. Пробывал вот так 50 22 * * * ndmq -p 'interface PPPoE0 down' -P message; 51 22 * * * ndmq -p 'interface PPPoE0 up' -P message Выполняется только первая команда, а вторая нет. (Впринципе ip не меняет даже если в терменале ssh ввести, просто отключается интернет а потом включается)
  20. Цитата от Билайна для модема 3/4G и тарифа "Хайвей 18Гб, плюс ночной безлимит": "На опции действует Ночной безлимит в Домашней сети - трафик с 01:00 до 7:59 каждый день предоставляется бесплатно и без ограничений на максимальной скорости, не расходуя основной пакет опции. .... Для включения ночного трафика нужно разорвать сессию." Аналогичное было и в МТС, может у других операторов тоже требуется разрыв сессии. Можно опцию "Выключить в ХХ:ХХ", "Включить в ХХ:ХХ" разместить на вкладке "Настройка подключения к мобильной сети". С кнопкой "Добавить...". Или "Перезагрузить в ХХ:ХХ".... Из-за этого пришлось перенастроить шедулер в торренах "наоборот": днем с 8 утра до 1 ночи скорость отдачи минимальна, а в режиме "черепахи" с 1 ночи до 8 утра скорость максимальна. Хотелось бы иметь на вкладке Приложения, Торрент-клиент возможность включения/выключения в определенное время, в моем случае в 01:10 включить, в 07:55 выключить.
  21. echo sleep > log.log ping 8.8.8.8 -c5 -q > /dev/null if [ "$? " -ne 0 ] then echo "restarting.." ndmq -p 'interface PPPoE0 down' -P message sleep 5 ndmq -p 'interface PPPoE0 up' -P message fi sleep 30 ping 8.8.8.8 -c5 -q > /dev/null if [ "$? " -ne 0 ] then echo "restarting.." ndmq -p 'interface PPPoE0 down' -P message sleep 5 ndmq -p 'interface PPPoE0 up' -P message fi создал скрипт который через крон не работает подскажите что не так делаю
×
×
  • Create New...