Zamana bağlı olarak iki farklı / etc / host


11

Kendim için bir üretkenlik paketi yapmaya çalışıyorum. İlk hedefim Facebook, Gmail ve Stackexchange'i 0900'den 1600'e engellemektir.

Şu andan itibaren /etc/hostsgmail ve stackexchange için düzenledim ve 0.0.0.0 www.facebook.com ve benzerlerini ekledim.

Ama engelleme süresinin senaryomda nasıl yer alacağı konusunda biraz kafam karıştı.

Ne düşündüm 2 farklı dosyaya sahip (hosts_allow, hosts_block) ve sonra cp hosts_allow hostsveya cp hosts_block hostszamana bağlı olarak ama sonra bu sonsuz bir döngü veya gerçekten emin değilim bir şey koymak gerekir sorununa yaklaşmanın en iyi yoludur.

Herhangi bir ipucu var mı?


Ancak ... Ancak StackExchange üretkenliği artırır! :(
kba

@KristianBorupAntonsen, Çok Değişkenli Analiz öğrenmeye çalıştığımda değil: P

1
math.SE her zaman yardımcı olur! :)
kba

Yanıtlar:


19

Kullanın cron.

Say crontab -e kök olarak - ya sudo crontab -esen varsa sudokurmak - ve metin editörü çıkageldi dosyasında aşağıdaki koymak:

0  9 * * * cp /etc/hosts_worktime /etc/hosts
0 16 * * * cp /etc/hosts_playtime /etc/hosts

Bu, ayın her gününün 9. ve 16. saatlerinin sıfırıncı dakikasında, /etc/hostsverilen kabuk komutlarını kullanarak üzerine yazıldığını söylüyor .

Aslında biraz daha karmaşık bir şey isteyebilirsiniz:

0  9 * * 1-5 cp /etc/hosts_worktime /etc/hosts
0 16 * * 1-5 cp /etc/hosts_playtime /etc/hosts

Bu tek değişiklik - koyarak 1-5beşinci pozisyonda - iş ve oynatma süresi arasındaki değişim Cuma'ya sadece Pazartesi günü olur diyor.

man 5 crontabBir crontabdosyada neler yapabileceğinize dair tam bir açıklama almak için söyleyin .

Bu arada, TCP Wrappers tarafından kullanılan hosts, dosyalarınızın adlarını değiştirdim , çünkü hosts_allowçok yakın .hosts.allow


9
Tcpwrappers benzerliğini azaltmak için dosya adını değiştirmek için +1. Ayrıca, ln -fdeğil , tavsiye ederim cp- /etc/hostsgünde iki kez silinecek değişikliklerin ve modifiye eden herhangi bir yazılımın /etc/hostsyine de bilmeyeceğini unutmak çok kolay . İle ln, değişikliklerin en az bir kalıcı kopyası olur (hangisi etkinse).
Alexios

@Alexios: Orada tartışma yok.
Warren Young

3

2 farklı hostsdosyanız varsa /etc, gün içinde belirli bir saatte dosyanın üzerine yazmak için bir cron işi zamanlayabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.