Коллеги, помогите новичку. Поднял сервер для раздачи интернета. Подключение через PPTP. Подключение поднимается по расписанию в рабочие дни в 7-50 и отключается в 18-00. Но случается, что отключают эл-во UPS гасит сервак, а после восстановления эл.питания сервер грузится, но PPTP естественно не поднято. И всё бы было просто, если бы PPTP нужно было поднимать безусловно при старте, но мне нужно, что бы в выходные дни или в нерабочее время оно не поднималось, а в другое время поднималось при загрузке сервера. Понимаю, что скрипт нужно писать, но я этого никогда не делал подскажите. Также подскажите из какого файл этот скрипт выполнять.
Поднять PPTP при включении сервера
man cron
man anacronПардон конечно, но я не совсем могу представить как это сделать с помощью Cron или Anacron. По cron у меня VPN поднимается в определенное время в определенные дни. Как это сделать при запуске компьютера, подтолкните куда смотреть в манах на Cron и Anacron?
Если использовать @reboot, то я так понял исполняться команда будет всегда при старте cron
а мне надо:
"Старт компьютера"
if "рабочий день" then
if "рабочее время" then "поднимаем VPN" else "ничего не делаем"
День недели:
day=`date +%u`
case "$day" in
1)...
2)
esacпроверку времени сам в гугле глянь bash + time
Все это завернив rc.local например или в if-up.d
Спасибо, скрипт с условиями написал, получил время в формате чч:мм (date +%H:%M), подскажите как теперь проверить, что времени меньше 07:50 или больше 17:10 или придется отдельно проверять часы, а потом минуты?
Надо чтобы скрипт от рута запускался. Например кинуть скрипт в каталог /etc/network/if-up.d/ тогда при поднятии интерфейса он будет выполнятся, естественно с правами суперпользователя.
Время без минут так
TIME=`date +%H`или так
TIME=$(date +%H)сравниваем:
TIME=`date +%H`
if [ $TIME -ge 7 ] && [ $TIME -le 18 ]
...
else
...
fi
Так я уже сделал. раньше 7 часов в не рабочие дни не поднимать VPN, и позже 17 часов в нерабочие дни его не поднимать, а как с минутами условие прикрутить?
TIME_HM=`date +%H%M`
TIME_M=`date +%M`Это?
Я конечно полный бред написал, только сейчас увидел (после рабочего дня мозг не работает).
Конечно:
"раньше 7 часов" ИЛИ "в нерабочие дни" не поднимать VPN, и "позже 17 часов" ИЛИ "в нерабочие дни" его не поднимать.
Это я сделал и сейчас работает.
А мне необходимо (("раньше 7 часов 50 минут") ИЛИ ("в не рабочие дни")) И (("позже 17 часов 10 минут") ИЛИ ("в нерабочие дни")) "не поднимать VPN" ИНАЧЕ "поднять VPN".
Хотя можно и забить на минуты. Спасибо.
Как-то так:
#!/bin/bash
TIME=$(date +%k%M)
if [[ "$TIME" -ge 1830 ]] && [[ "$TIME" -le 2220 ]]; then
<command>
else
<command>
fi
или
#!/bin/bash
TIME=$(date +%k%M)
if [[ $(eval "$TIME") -ge 1830 ]] && [[ $(eval "$TIME") -le 2220 ]]; then
<command>
else
<command>
fi
Огромное спасибо.
Не каждый Гуру отвечает новичку (на профильном ubuntu.ru мой вопрос остался без ответа).
Вот так потихоньку, полегоньку, с божъей, пардон, с помощью специалистов, все виндовые сервера похерю.
с божъей, пардон, с помощью специалистов, все виндовые сервера похерю.
Богоугодное дело делаешь! :lol: