Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Hey
Moze odrazu przejde do opisania problemu
Pisze prace inżynierska na temat generowania wzorców ruchu pod QoS za pomoca squid'a
I teraz potrzebował bym jakiegos mechanizmu który by mi jakos sortował logi od squida mowa tutaj o access.log
Moim celem byłoby tworzenie logów z każdego dnia od poniedziałku do niedzieli
Chciałbym by w następny poniedziałek wszystkie te 7 logów zostało spoakowane i przeniesione do innego folderu a w nazwie spakowanego pliku zaistniała data dnia w którym spakowanie miało miejsce.
Jest takie cos w ogóle możliwe ?
Znalazłem dwa opisy odnośnie rotacji logów dla squida jeden to właśnie ten co tu jest
/var/log/squid/access.log { missingok # nie wywala błędu jak brakuje pliku loga tylko leci dalej. daily #ja w tym miejscu mam miesięczny ale to tylko przykład compress # to oznacza ze jak się wykonq logrotate to od razu kompresuje a nie czeka np 5 dni i dopiero starsze kompresuje. rotate 5 # trzyma tylko 5 ostatnich logów reszte wywala. postrotate #proponuje także zapoznać się z "prerotate" sciezka_do_skryptu_np: /root/skrypty/logi.sh # to będzie skrypt który wykona za nas całą robotę. endscript }
#!/bin/bash cp /var/log/squid/access.log.1.gz /home/serwer/stare/access.log.`date +%F`.gz #przekopiowanie loga do katalogu olddir i dodanie do nazwy daty find /home/serwer/stare/ -mtime +20 -exec rm -f {} \; #skasowanie plików starszych niż 20 dni.
a drugi na innej stronie (nie bede robił reklamy )
jest tam podane cos o wpisie do pliku crontab
55 23 * * * root /usr/bin/squid –k rotate
i o wpisie do samego squid.conf mianowicie
logfile_rotate = 1
I teraz mógłby mi ktoś podpowiedzieć czym róznia sie te dwa sposoby i który z tych sposobów sie bardziej mi przyda czy moze trzeba zastosować je oba by rotacja zadziałała ??
// przeniesione z http://forum.dug.net.pl/viewtopic.php?id=19171 — ArnVaker
Ostatnio edytowany przez ais89 (2013-01-16 19:39:21)
Offline
Jest takie cos w ogóle możliwe ?
Kiedyś guru Maverick powiedział : :D
W linuksie da się wszystko trzeba tylko wiedzieć jak :D
Stosujesz jedno albo drugie rozwiązanie. Pierwsze polega na logrotate a drugie na cron + squid. Nie możesz używać jednego i drugiego na raz ponieważ całą robotę wykona ten sposób który zostanie odpalony jako pierwszy, drugi juz tylko będzie pracował na prawie pustym logu squida.
Moim celem byłoby tworzenie logów z każdego dnia od poniedziałku do niedzieli
/var/log/squid/access.log { missingok daily compress rotate 7 postrotate endscript
Chciałbym by w następny poniedziałek wszystkie te 7 logów zostało spoakowane i przeniesione do innego folderu a w nazwie spakowanego pliku zaistniała data dnia w którym spakowanie miało miejsce.
#!/bin/bash cd /var/log/squid/ tar -cvjpf logi_squid_`date +%F`.tar.bz * mv logi_squid_`date +%F`.tar.bz * /home/hatalog_na_logi_squida/ rm /var/log/squid/acce* /etc/init.d/squid reload
skrypt dodajesz do crona np:
00 6 * * 1 /sciezka_do_skryptu
polecam http://pl.wikipedia.org/wiki/Crontab
Skrypt trzeba by porządnie dopieścić aby nie używać :
rm /var/log/squid/acce* /etc/init.d/squid reload
Ostatnio edytowany przez qlemik (2013-01-16 23:52:05)
Offline
fajnie juz podane jak na tacy to juz któryś raz jak dug.net.pl mi pomogło
dzieki qlemik za szybką i wyczerpujaca wypowiedz
nie rozumiem tego stwierdzenia dlaczego " do pieścić ?
co jest nie tak z tymi linijkami ?
rm /var/log/squid/acce* /etc/init.d/squid reload
bo nie wiem nawet o co google zapytać ?
Jesli chodzi o samo:
rm myślałem ze problem bedzie z chown dla usuniętego pliku ale funkcja reload radzi sobie bardzo dobrze i usunięte acce* dostaja chown proxy:proxy
edit : 2 :13 to juz prawie 3 godziny jak rozmyślam dlaczego trzeba dopieścić ten dwie linijki kody w skrypcie i nic mi nie przychodzi do głowy
I Mam jeszce jedno pytanie skrypt ten mam umieścić w katalogu cron.daily a poźniej zrobić wpis do crontab ? czy druga opcja skrypt moze byc gdziekolwiek a zrobic tylko wpis do crontab z bezwzgledna scieżką
Ostatnio edytowany przez ais89 (2013-01-17 03:37:11)
Offline
druga opcja skrypt moze byc gdziekolwiek a zrobic tylko wpis do crontab z bezwzgledna scieżką + chmod u+x
Co do skryptu musisz pamiętać że jeśli ustawisz w cronie aby uruchamiał skrypt o np 10 rano to w spakowanym archiwum będziesz miał logi z squida od poniedziałku od 10 do poniedziałku do 10. Można by dorobić aby wycinał z niego linijki z acces.log z poniedziałeku przed 10:00 i dppisywał je na początek nowo założonego pliku access.log po 10:00. Wtedy w spakowanych logach będziesz miał dokładnie od poniedziałku od godziny 0:00 do niedzieli do godziny 0:00
Oczywiście ktoś może powiedzieć że jak odpali skrypt w cronie o 0:00 to sprawa załatwiona :D
Ja dodatkowo dodałbym sobie że jeśli będą jakieś błędy to niech mi je wyśle na email, żebym nie musiał za każdym razem sprawdzać czy mu się udało.
Mam nadzieje że jakoś w miare składnie to napisałem.
Offline
No to juz prawie wszystko wiem
Sprawa logów i zawartości to nie jest jakis większy problem nie będzie mi to przeszkadzało ze logi beda od godziny 4 w nocy do 4 w nocy
Bardziej obawiam sie tego czy to zadziała nie wiem jak to wywołać by to wszystko się jakos przeładowało przeszło chociaż jeden cykl albo i dwa przestawic datę na debianie ?
Info na maila to bardzo fajny pomysł ale chyba sobie podaruje bo nie wiem jak to zrobić
chyba ze to jest takie proste jak ten przykład na wikipedi
# Denerwuj Stefana od poniedziałku do piątku o godzinie 22:00 0 22 * * 1-5 echo "Stefanie, jest już 22:00. Gdzie są Twoje dzieci?!" | mail -s "Wybiła 22:00" stefan@example.com #
Mam jeszcze jedną prośbe to juz chyba ostatnia squid ma dość dobre wspracie ze strony ludzi którzy pisza jakies programy pod niego
I teraz znalazłem na oficjalnej stronie squid'a jakies log analizyery ale za "chiny" nie wiem co z tym zrobić nie ma zadnego manuala do tego
plik jest napisany w perl'u i ma rozszerzenei .pl nie wiem jak mam zastosować ten skrypt by przetwarzał moj access.log ? odpowiesz mi jeszcze na to pytanie ?
http://davehope.co.uk/projects/perl-squid-reporting/ tu jest ten plik
Ostatnio edytowany przez ais89 (2013-01-17 16:40:15)
Offline