Ú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
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- MS SQL Server 2016, 2017, 2019
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 Pro Max 128GB Pacific Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4517, 100% Akksi
- HP EliteBook 840 G7 i5-10210U 16GB 512GB FHD 400nit 1 év garancia
- 32GB DDR4 3200
- BESZÁMÍTÁS! ASUS ROG B760 i9 14900K 32GB DDR5 1TB SSD Asus ROG RTX 3090 24GB Zalman Z1 1000W
Á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:
