Автообновляем IP в файле, если он поменялся!
Часто у серверов на динамическом IP-адресе возникает проблема: адрес меняется, а конфиги или скрипты продолжают работать со старым.
Чтобы не обновлять его вручную, можно сделать простой Bash-скрипт.
1. Получаем текущий внешний IP:
Выведет твой реальный IP. Можно заменить на
2. Сохраняем IP в файл:
В файле будет только актуальный адрес.
3. Проверяем, изменился ли IP:
Скрипт сравнивает адреса и переписывает файл только при изменении.
4. Добавляем в cron:
Проверка каждые 10 минут — удобно для автоматизации.
🔥 Полезно, если сервер работает за динамическим IP или нужен актуальный адрес для SSH/VPN.
🚪 Bash Ready | #практика
Часто у серверов на динамическом IP-адресе возникает проблема: адрес меняется, а конфиги или скрипты продолжают работать со старым.
Чтобы не обновлять его вручную, можно сделать простой Bash-скрипт.
1. Получаем текущий внешний IP:
curl -s ifconfig.me
Выведет твой реальный IP. Можно заменить на
dig +short myip.opendns.com @resolver1.opendns.com
для надёжности.2. Сохраняем IP в файл:
echo "$(curl -s ifconfig.me)" > current_ip.txt
В файле будет только актуальный адрес.
3. Проверяем, изменился ли IP:
NEW_IP=$(curl -s ifconfig.me)
OLD_IP=$(cat current_ip.txt)
if [ "$NEW_IP" != "$OLD_IP" ]; then
echo "$NEW_IP" > current_ip.txt
echo "IP обновлён: $NEW_IP"
fi
Скрипт сравнивает адреса и переписывает файл только при изменении.
4. Добавляем в cron:
*/10 * * * * /path/to/update_ip.sh
Проверка каждые 10 минут — удобно для автоматизации.
🔥 Полезно, если сервер работает за динамическим IP или нужен актуальный адрес для SSH/VPN.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥4
Чтобы разбирать ошибки и следить за выполнением, скрипт должен писать логи. В Bash это можно сделать буквально парой символов: перенаправить вывод, сохранить ошибки отдельно или параллельно дублировать всё в файл.
В этом посте:
• Используем >> для добавления лога без перезаписи.
• Дублируем вывод в консоль и файл через tee.
• Разделяем stdout и stderr для удобного анализа.
• Комбинируем приёмы для полного контроля логов.
Так ты получаешь прозрачность работы скриптов и всегда можешь понять, что пошло не так.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥4
Не всегда хочется запоминать флаги и аргументы для скриптов. С помощью select и case можно сделать простое меню, где пользователь просто выбирает нужный пункт.
В этом посте:
• Создаём меню с автонумерацией через select.
• Обрабатываем выбор пользователя с помощью case.
• Комбинируем команды и добавляем логику.
• Делаем полноценное CLI-меню для скриптов.
Минимум кода — и у тебя уже готов удобный интерфейс в консоли.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3