В Home Assistant есть специальная платформа под названием System Monitor с набором сенсоров для мониторинга локальной системы. System Monitor позволяет отслеживать загрузку и температуру процессора, загрузку оперативной памяти и диска, трафик на сетевых интерфейсах. Все описание взято на официальном сайте Home Assistant и применимо для систем семейства Unix/Linux/BSD. Читать далее «Мониторинг компа в Home Assistant»
Автор: vvv
Измеряем температуру в доме, выводим инфу на сайт
Дано: cc2531 usb плата с программатором, датчики температуры и влажности Sonoff SNZB-02
Задача: на FreeBSD организовать мониторинг температуры в доме.
Читать далее «Измеряем температуру в доме, выводим инфу на сайт»
ntfs FreeBSD
Процедура: Шаги по монтированию диска NTFS
- Перед использованием файловой системы FUSE нам необходимо загрузить модуль ядра fusefs(5):
# kldload fusefs
Сторожевой пес Интернета
#!/bin/sh
#
# Watchdog: keep the Internet up and running.
#
# Phil Chadwick. 2015-11-18.
#
# $Revision: 1.15 $
# For use in root's crontab like this:
# */10 * * * * /etc/firewall/internet_watchdog
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
export PATH
INTERNET_NIC=tun0 # The Internet link interface (e.g. ppp0)
MINUPSECS=1800 # Don't reboot unless uptime > MINUPSECS
REDIALWAIT=240 # Allow this many seconds to re-make the connection
SHUTMESSAGE="Rebooting to restart Internet"
# Ping targets (несвязанный список общедоступных хостов, которые отвечают на ping)
PT1=192.231.203.132 # resolv.internode.on.net
PT2=195.122.30.54 # google.com.au
PT3=104.25.239.31 # www.ozspeedtest.com
PT4=204.79.197.219 # bing.com.au
PING_TARGETS="$PT1 $PT2 $PT3 $PT4"
# Syslog configuration
LOGTAG=$(basename $0)
LOGPRI='local0.notice'
# See if we can ping anything on the Internet...
pingtest()
{
for host in $PING_TARGETS
do
#debian#ping -q -n -c 1 -w10 $host >/dev/null 2>&1 && return 0
#freebsd#ping -q -n -c 1 -t10 $host >/dev/null 2>&1 && return 0
ping -q -n -c 1 -t10 $host >/dev/null 2>&1 && return 0
done
return 1
}
# Return uptime in seconds. Tested on FreeBSD 13.0 only. YMMV.
getuptime()
{
uptime=${1:-$(uptime)}
days=0
hours=0
minutes=0
seconds=0
echo "$uptime" | grep -q " day" &&
days=$(echo "$uptime" | sed -e 's/.*up \([1-9][0-9]*\) day.*/\1/')
if echo "$uptime" | grep -q "up.* [0-9][0-9]*:[0-9][0-9]*,"
then
hours=$(echo "$uptime" | sed -e 's/.*up.* \([0-9][0-9]*\):.*/\1/')
minutes=$(echo "$uptime" | sed -e 's/.*up.*:\([0-9][0-9]*\),.*/\1/')
seconds=0
else
echo "$uptime" | grep -q " hrs*" &&
hours=$(echo "$uptime" | sed -e 's/.*up.* \([0-9]*\) hr.*/\1/')
echo "$uptime" | grep -q " mins*" &&
minutes=$(echo "$uptime" | sed -e 's/.*up.* \([0-9]*\) min.*/\1/')
echo "$uptime" | grep -q " secs*" &&
seconds=$(echo "$uptime" | sed -e 's/.*up.* \([0-9]*\) sec.*/\1/')
fi
upseconds=$(((((((($days*24)+$hours)*60)+$minutes)*60)+$seconds)))
echo $upseconds
}
# # pppd иногда выполняет атомарный повторный набор после того, как получает сообщение о зависании.
# Итак, если кажется, что ссылка недоступна, мы должны дать ей время вернуться.
n=0
while [ $n -lt $REDIALWAIT ]
do
ifconfig $INTERNET_NIC 2>/dev/null | grep -q "UP[ ,].*RUNNING"
[ $? -eq 0 ] && pingtest && exit 0
sleep 1
n=$((n+1))
done
# Похоже, интернет-соединение действительно не работает...
# Ниже приведен ряд сложных вопросов, связанных со сроками, которые необходимо решить.
# # Возможно, ваш интернет-провайдер вешает трубку каждый раз, когда мы звоним, из-за превышения квоты.
# # Итак, проверьте время безотказной работы и ничего не делайте, пока не истечет несколько минут.
# Кроме того, запуск и остановка ppp асинхронны, поэтому pppd умирает целую вечность,
# и вы должны дождаться, пока он погаснет, прежде чем перезапускать его; кроме того, мы не хотим
# перейдите в (быстрый) непрерывный цикл перезагрузки (следовательно, 15-минутное ожидание).
# Установите минимальную задержку перезагрузки, чтобы остановить цикл быстрой перезагрузки
#debian#upseconds=$(cut -d. -f1 </proc/uptime)
#freebsd#upseconds=$(getuptime)
upseconds=$(getuptime)
[ "$upseconds" -gt $MINUPSECS ] || exit 0
# Выход из системы, если мы уже запустили последовательность завершения работы.
if [ -f /run/systemd/shutdown/scheduled ]
then
cat /run/systemd/shutdown/scheduled
else
#debian#ps -lef | grep shutdown
#freebsd#ps auxw | grep shutdown
ps auxw | grep shutdown
fi | grep -q "$SHUTMESSAGE" && exit 0
# We are now committed to a reboot (unless somebody intervenes manually).
logger -p "$LOGPRI" -t "$LOGTAG" "Internet not running"
service internet stop >/dev/null 2>&1
logger -p "$LOGPRI" -t "$LOGTAG" "Cowardly rebooting to re-start Internet"
shutdown -r +15 "$SHUTMESSAGE"
Микротик rb2001UiAs-2HnD-IN
openwrt-19.07.10-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin
openwrt-19.07.10-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf
Восстановление
1. Настройте DHCP-сервер с загрузкой по протоколу TFTP (установите на вашем компьютере статический IP диапазона 192.168.1.0/24). Обратите внимание, что файл initramfs должен находиться в каталоге, указанном командой.
sudo dnsmasq -i eth0 --dhcp-range=192.168.1.100,192.168.1.200 \ --dhcp-boot=openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf \ --включить-tftp --tftp-root=~/каталог/где/файл/находится/ \ -d -u $USER -p0 -K --log-dhcp --bootp-dynamic
2. Подключите ПК к порту Ethernet 1.
3. Выключите маршрутизатор и удерживайте сброс при включении. Подождите 20 секунд, пока не появится файл, отправленный ПК. Отпустите сброс и оставайтесь подключенным к порту Ethernet, пока не увидите сообщение маршрутизатора об имени хоста Openwrt.
4. Подключите ПК к другому порту Ethernet.
5. Войдите в OpenWRT netboot
6. Обновите систему с помощью соответствующего файла Mikrotik sysupgrade.bin. (она либо 64-метровая, либо огромная. Вы можете выбрать нужную, открыв и прочитав номер детали на микросхеме tsop48. Но, это не должно иметь значения, если вы прошиваете не ту, здесь.)
Если вы допустили ошибку, повторите netboot и повторите попытку. На печатной плате рядом с кабелем питания есть UART, если сетевая загрузка работает, но по какой-то причине сбой обновления системы. Возможно, вам понадобится 64-миллиметровый образ, но загрузчик останется, чтобы устройство не было заблокировано, если используется неправильный sysupgrade.
Может быть быстрее и проще загрузить ethernet (tftp) из загрузчика, вместо того чтобы удерживать нажатой кнопку сброса при загрузке.
Если вы видите ошибки ECC в UART (от 18 и более ранних версий. Была исправлена в 19.07), обратитесь к этому сообщению на форуме: https://forum.openwrt.org/t/ecc-errors-in-ubi-rb2011uias-2hnd-in-and-solution/16424/15
Пользователи сообщили, что несколько устройств повредили их flash при 2-м обновлении системы. В этом случае устройство можно использовать только в режиме сетевой загрузки. Смотрите: https://forum.openwrt.org/t/rb433-bad-sector-cannot-start-openwrt/71519/12
Для получения более подробной информации смотрите:
Источник: https://openwrt.org/toh/mikrotik/rb2011
Rsync FreeBSD и Syncopoli android
pkg install rsync
Настройка rsync для FreeBSD:
rsyncd.conf:
log file = /var/log/rsync.log # Писать в лог о скачивание файлов transfer logging = true # Set this if you want to stop rsync daemon with rc.d scripts pid file = /var/run/rsyncd.pid # Edit this file before running rsync daemon!! #uid = nobody #gid = nobody #use chroot = no #max connections = 4 #syslog facility = local5 [backup] uid = root path = /main/SHARED/rsync auth users = user secrets file = /usr/local/etc/rsync/rsyncd.scrt list = yes read only = false # Далее может идти описание других секций(по аналогии с samba и шарами)
Виджеты код
Резервная копия кода виджетов сайта от 07.06.2023
1.Отображение IP адреса посетителя
<?php echo $_SERVER['REMOTE_ADDR'] ?>
2. Воспроизведение случайных файлов из папки, на сайте Читать далее «Виджеты код»
Перемещение AppData в windows
Настройка Squid 3 в качестве прозрачного прокси в FreeBSD
Настраиваем Squid в качестве прозрачного прокси-сервера для небольшой сети.
Содержание
- Установка Squid
- Настройка Squid
- Отображение местного времени на страницах ошибок Squid
- Запуск Squid
- Протокол управления кэшем Squid
- Настройка IPFW
- Ротация логов Squid
- Кэширование контента в Squid
- Ограничения доступа к сайтам и контенту в Squid
- Подмена заголовков в запросе клиента в Squid
- Перенос логов доступа Squid
- Решение проблем
- Установка Squid из коллекции портов
- Пакетный менеджер и кастомизированный Squid
- Настройка ядра (FreeBSD 9.1 и ранее)
- Дополнительная информация
Читать далее «Настройка Squid 3 в качестве прозрачного прокси в FreeBSD»
FreeBSD: настройка DHCP-сервера на базе ISC DHCP Server
Настраиваем DHCP сервер для офисной сети.
Содержание
Читать далее «FreeBSD: настройка DHCP-сервера на базе ISC DHCP Server»

