Hirdetés
Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
Összeszedtem minden tudásomat (ami nem sok van
) és tegnap írtam egy shell scriptet, ami a samba ilyen, elég bőséges logjaiból:...
[2018/06/22 14:42:18.106095, 2] smbd/close.c:696(close_normal_file)
CsLev closed file fileserver/__MUNKAK/CSL/21_KM Mech/KM_ID/HELL/HP/KM MAM 2016.xlsx (numopen=6) NT_STATUS_OK
[2018/06/22 14:42:18.110089, 2] smbd/open.c:746(open_file)
CsLev opened file fileserver/__MUNKAK/CSL/21_KM Mech/KM_ID/HELL/HP/KM MAM 2017 egész év.xlsx read=No write=No (numopen=7)
[2018/06/22 14:42:18.114096, 2] smbd/close.c:696(close_normal_file)
CsLev closed file fileserver/__MUNKAK/CSL/21_KM Mech/KM_ID/HELL/HP/KM MAM 2017 egész év.xlsx (numopen=6) NT_STATUS_OK
...csinál ilyen, táblázatkezelőbe is betölthető fájlokat:
2018/06/22 14:42:17.770334 CsLev opened file fileserver/__MUNKAK/CSL/21_KM Mech/KM_ID/HELL/HP/KM MAM 2017 egész év.xlsx
2018/06/22 14:42:17.824866 CsLev opened file fileserver/__MUNKAK/CSL/21_KM Mech/KM_ID/HELL/HP/Palyazati_Felhivas-18.pdf
2018/06/22 14:42:17.870417 CsLev opened file fileserver/__MUNKAK/CSL/21_KM Mech/KM_ID/HELL/HP/IA_GAZD_99-1.pdfEzzel a csodával:
#!/bin/bash
files=/var/log/samba/*
tempfile=tmp.log
tempfile2=tmp2.log
fact=activity.log
grepcmd1='-B1'
grepcmd2='read=Yes|write=Yes'
grepcmd3='file'
for f in $files
do
if [[ $f = *"log."* ]]; then
#bizonyos fájlokat eleve nem nézünk meg
if [[ $f != *".gz"* ]] && [[ $f != *".nmbd"* ]] && [[ $f != *".smbd"* ]]; then
echo "Processing $f..."
egrep "$grepcmd1" "$grepcmd2" "$f" > $tempfile2 #kiszedjük a read vagy write soroka$
awk '!/--/' $tempfile2 > $tempfile #kiszedjük az egrep blokk határoló sorokat
sed 's/smbd.*e)//' $tempfile > $tempfile2 #a nem releváns szövegrészek törlése
sed 's/read.*)//' $tempfile2 > $tempfile
sed 's/, .* //' $tempfile > $tempfile2 #[ , rész törlése
sed 's/^.//' $tempfile2 > $tempfile #kezdő karakter eltávolítása
perl -ne 'print unless $seen{$_}++' $tempfile > $tempfile2 #duplikált sorok eltávol$
egrep "$grepcmd1" "$grepcmd3" "$tempfile2" > $tempfile #a maradékot újra leszűrjük
awk '!/--/' $tempfile > $tempfile2 #blokkhatár
paste -d ' ' - - < $tempfile2 > $tempfile #minden második (elsővel kezdve) sor végé$
cat $tempfile > ${f##*/}.txt #megfelelő névvel elmentjük a végleges szöveget
else
echo "Excludeing $f..."
fi
else
echo "Exludeing $f..."
fi
done
rm $tempfile
rm $tempfile2Amit csináltam, az kissé ronda. Oda-vissza írogat két tempfile-t, azokon dolgozom. Lehet, hogy lehetne ezeket memóriában csinálni, arra nem jöttem rá.
Így is lefut elég hamar a dolog, de biztos van szebb megoldás rá.
Új hozzászólás Aktív témák
- Apple asztali gépek
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Háztartási gépek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Senki sem töröl ennél jobban
- Milyen egeret válasszak?
- Mini-ITX
- Samsung Galaxy A55 - új év, régi stratégia
- Robotporszívók
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- További aktív témák...
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- 157 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060 (ELKELT)
- AKCIÓ! 750W Seasonic PRIME TX-750 Titanium tápegység garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
) és tegnap írtam egy shell scriptet, ami a samba ilyen, elég bőséges logjaiból:

