Как я могу записать задание крона, которое заблокирует мой Интернет с 19:00 до 7:00? (Таким образом, я могу немного поспать),

Я использую OSX 10.6, и ему встроили крон. Как я могу записать задание крона, которое будет блокировать мой Интернет с 19:00 до 7:00 каждый день?

Я уверен, что это должно быть просто, но я мог только найти один пример онлайн, и он не работал. Это сказало:

set /etc/hosts.allow file to 
be empty 
set hosts.deny file to
ALL : ALL

Я сделал это, и Google все еще подошел.

6
задан 15.07.2014, 20:16

9 ответов

Спасибо Armardeep, после пребывания в течение многих часов, пытаясь отладить проблему с заданием, не работающим от корня, я смог получить то, что Вы сказали работу. Вот мои точные шаги:

В терминальном типе:

$ sudo crontab -eu root

Затем тип:

0 19 * * * /sbin/ifconfig en0 down > /dev/null
0 7 * * * /sbin/ifconfig en0 up > /dev/null

и это делает это! Спасибо Amardeep и Stephenr

8
ответ дан 07.12.2019, 15:28

Ответ Родительского контроля от Alan является, вероятно, лучшим способом сделать это. Но только для потомства я опишу, почему Ваша попытка хостов не работала и описала решение для типа крона.

hosts.allow (и его дубликат hosts.deny) используются для определения хостов, которые позволены (или запрещены) получить доступ машине с определенными сервисами. То, что Вы надеетесь делать, наоборот, который является, почему это не работало.

crontab записи, которые должны разъединиться затем, снова соединяются, Ваша сеть была бы "чем-то" как:

0 19 * * * /path/ifconfig eth0 down 1> /dev/null
0  7 * * * /path/ifconfig eth0 up   1> /dev/null

крон реализован по-другому на многих *, отклоняют системы и существуют изменения к вышеупомянутому формату, так консультируйтесь со своей страницей справочника. Извините я не могу предложить OS X определенную деталь. Из соображений безопасности некоторые реализации крона только установят ограниченные переменные среды при выполнении команды, таким образом, необходимо будет указать полный путь путем ввода 'который ifconfig' при приглашении оболочки. Можно отладить его несколько путем удаления stdout перенаправления, и много кронов должны послать Вам по электронной почте вывод команды, или Вы могли просто перенаправить к файлу журнала.

Я не уверен, чем устройство Ethernet OS X называют..., это могло бы быть что-то другое, чем eth0. Просто введите ifconfig, и он должен отобразить названия активного устройства. Вам, возможно, придется быть корнем для ровного выполнения ifconfig. Необходимо будет, конечно, быть корнем для редактирования crontab файла.

4
ответ дан 07.12.2019, 15:28

В OS X рассмотрите использование Родительского контроля. Это сделает точно, что Вы ищете.

3
ответ дан 07.12.2019, 15:28

Почему крон использования? Проверьте это приложение, намного более хорошее, и делает намного больше: http://getconcentrating.com/

1
ответ дан 07.12.2019, 15:28

Добавьте следующее к crontab для удаления маршрута по умолчанию, который эффективно отключит любую коммуникацию к Интернету (но будет, все еще сохраняя сетевое соединение).

Для отключения (где a.b.c.d является маршрутизатором):

route delete default a.b.c.d

Повторно включить:

route add default a.b.c.d
1
ответ дан 07.12.2019, 15:28

Просто отключите его или выключите его, почему напрасно тратят время, ища решение, которое только требует 1 - 2 пальцев. Почему это было даже отправлено lol

1
ответ дан 07.12.2019, 15:28

На Mac порт Ethernet называют en0 и портом Wi-Fi en1.

Можно проверить это путем движения в Установки системы-> Сеть затем, выбора Ethernet, нажатия на Advanced, затем смотрящий на вкладку Ethernet - это скажет Вам MAC-адрес. Сделайте тот же, но выберите Аэропорт для получения MAC-адреса порта Wi-Fi.

Затем в терминальном типе ifconfig для получения списка сетевых интерфейсов, которые покажут Вам имя интерфейса для каждого интерфейса (en0, en1, и т.д.), и загрузка другой информации, включая MAC-адрес, который маркирован 'эфир'.

После того как Вы знаете то, что имена имеют интерфейсы, можно настроить задания крона для отключения их, как описано Amardeep. - используют en0 вместо eth0 и повторяются для порта Wi-Fi.

0
ответ дан 07.12.2019, 15:28

Можно найти Свободу хорошей альтернативой, если Вы ленивы. Это стоит 10 u$s, но это - хороший способ сказать хорошо, никакие отвлекающие факторы.

0
ответ дан 07.12.2019, 15:28

SelfControl делает точно это. Даже перезагрузка не остановит его.

2
ответ дан 07.12.2019, 15:28

Теги

Похожие вопросы