Возможный дубликат:
Как навсегда и безвозвратно заблокировать веб-сайты в Firefox?
Я хотел бы написать сценарий, который изменяет / etc / hosts на определенный период времени. Мотивация - это продуктивность.
Мой подход заключался бы в том, чтобы определить блок текста с нужными мне правилами, а затем просто поместить его в / etc / hosts. По прошествии времени я искал точно такой же блок и удалял его.
Теперь мне просто любопытно, есть ли лучший способ сделать это. Может быть, аналогичная конструкция для файлов /etc/resolv.conf.tail?
Вы пытаетесь заблокировать или ограничить доступ к определенным веб-сайтам для своих сотрудников в рабочее время? Был бы прокси / веб-фильтр иметь больше смысла?
Если это не так, вы можете использовать любую из стандартных утилит управления конфигурацией (Кукольный, например), чтобы заменить /etc/hosts
файл или измените его на месте. Вы также можете использовать echo
или sed
изменить блок текста и расписание с помощью cron
. Помните, что файл hosts читается сверху вниз ...
Прочитав ваш первоначальный пост, я все еще не уверен на 100%, что вы хотите делать. Если вы хотите изменить файл / etc / hosts, вы можете написать базовый скрипт для эха или cat >> файла, а затем поместить его в cron в зависимости от того, когда вы этого хотите. Поэтому, если вы хотите изменить его в 7:00 утра, запустите задание cron в 7:00 утра, а если вы хотите изменить его обратно в 18:00, затем попросите другое задание cron удалить ваши предыдущие записи в 6: 00 часов. Есть несколько способов сделать это на стороне сценария. Самым простым, вероятно, было бы создать несколько файлов в каком-либо каталоге с именем hosts1, host2, hosts3 и т.д. Затем в своем сценарии вы можете просто заменить файл / etc / hosts любым другим файлом хоста, который вы изменили. Если вы не хотите этого делать, как я уже сказал, вы можете выводить отдельные строки в файл, а затем использовать sed для их удаления позже.