LinuxForum.Fans
Тема

Поднять PPTP при включении сервера

Автор: m_i_g 13 сообщений 3054 просмотров
#207208

Коллеги, помогите новичку. Поднял сервер для раздачи интернета. Подключение через PPTP. Подключение поднимается по расписанию в рабочие дни в 7-50 и отключается в 18-00. Но случается, что отключают эл-во UPS гасит сервак, а после восстановления эл.питания сервер грузится, но PPTP естественно не поднято. И всё бы было просто, если бы PPTP нужно было поднимать безусловно при старте, но мне нужно, что бы в выходные дни или в нерабочее время оно не поднималось, а в другое время поднималось при загрузке сервера. Понимаю, что скрипт нужно писать, но я этого никогда не делал подскажите. Также подскажите из какого файл этот скрипт выполнять.

#207209
text
man cron
man anacron
#207215

Пардон конечно, но я не совсем могу представить как это сделать с помощью Cron или Anacron. По cron у меня VPN поднимается в определенное время в определенные дни. Как это сделать при запуске компьютера, подтолкните куда смотреть в манах на Cron и Anacron?

Если использовать @reboot, то я так понял исполняться команда будет всегда при старте cron

а мне надо:

"Старт компьютера"
if "рабочий день" then
if "рабочее время" then "поднимаем VPN" else "ничего не делаем"

#207227

День недели:

text
day=`date +%u` 
case "$day" in
1)...
2)
esac

проверку времени сам в гугле глянь bash + time
Все это завернив rc.local например или в if-up.d

#207248

Спасибо, скрипт с условиями написал, получил время в формате чч:мм (date +%H:%M), подскажите как теперь проверить, что времени меньше 07:50 или больше 17:10 или придется отдельно проверять часы, а потом минуты?

#207253

Надо чтобы скрипт от рута запускался. Например кинуть скрипт в каталог /etc/network/if-up.d/ тогда при поднятии интерфейса он будет выполнятся, естественно с правами суперпользователя.

#207269

Время без минут так

text
TIME=`date +%H`

или так

text
TIME=$(date +%H)

сравниваем:

text
TIME=`date +%H`

if [ $TIME -ge 7 ] && [ $TIME -le 18 ] ... else ... fi

#207312

Так я уже сделал. раньше 7 часов в не рабочие дни не поднимать VPN, и позже 17 часов в нерабочие дни его не поднимать, а как с минутами условие прикрутить?

#207314
text
TIME_HM=`date +%H%M`
TIME_M=`date +%M`

Это?

#207319

Я конечно полный бред написал, только сейчас увидел (после рабочего дня мозг не работает).
Конечно:
"раньше 7 часов" ИЛИ "в нерабочие дни" не поднимать VPN, и "позже 17 часов" ИЛИ "в нерабочие дни" его не поднимать.
Это я сделал и сейчас работает.

А мне необходимо (("раньше 7 часов 50 минут") ИЛИ ("в не рабочие дни")) И (("позже 17 часов 10 минут") ИЛИ ("в нерабочие дни")) "не поднимать VPN" ИНАЧЕ "поднять VPN".

Хотя можно и забить на минуты. Спасибо.

#207322

Как-то так:

text
#!/bin/bash
TIME=$(date +%k%M)

if [[ "$TIME" -ge 1830 ]] && [[ "$TIME" -le 2220 ]]; then <command> else <command> fi

или

text
#!/bin/bash
TIME=$(date +%k%M)

if [[ $(eval "$TIME") -ge 1830 ]] && [[ $(eval "$TIME") -le 2220 ]]; then <command> else <command> fi

ы. http://ss64.com/bash/date.html

#207329

Огромное спасибо.
Не каждый Гуру отвечает новичку (на профильном ubuntu.ru мой вопрос остался без ответа).
Вот так потихоньку, полегоньку, с божъей, пардон, с помощью специалистов, все виндовые сервера похерю.

#207332
m_i_g написал:
с божъей, пардон, с помощью специалистов, все виндовые сервера похерю.

Богоугодное дело делаешь! :lol:

Войдите или зарегистрируйтесь, чтобы ответить.