Kirjoittaja Aihe: Pienet näppärät scriptit (bash, python, perl yms.)  (Luettu 84778 kertaa)

Postimies

  • Käyttäjä
  • Viestejä: 2323
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #200 : 03.08.13 - klo:20.05 »
Valokuvien pienennys vaikka nettigalleriaan - koko kansio

Koodia: [Valitse]
for I in *.JPG ; do convert -quality 75 -resize 1400x930 -strip -quality 75 -auto-orient -unsharp 0.0x1+1+0 $I ${I%.JPG}_ter.jpg ; done
-strip  poistaa metadatan
-unsharp tekee terävöinnin. Digijärkkärin kuvat tykkää tuosta. 0.0x1+1+0 sopiva lähtöarvo
-resize uusi kuvan koko. Myös prosentteina esim 30%
-auto-orient  käännetään kuva automaattisesti
-quality pakkauksen laatu. Vaikuttaa kokoon paljon

Vaatii imagemagic paketin. Optioita tuossa paketissa on paljon. Vesileima vielä tekemättä. Ehdotuksia otan vastaan.


Lisäsin kooditägit --- ajaaskel
« Viimeksi muokattu: 08.08.13 - klo:21.53 kirjoittanut ajaaskel »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #201 : 08.08.13 - klo:21.30 »
react2load  --- Kuorman mittaus ja ylikuormittavan ohjelman sammutus

Kirjoittelin koodinpätkän joka arvioi prosessin CPU-kuormaa prosenteissa ja jos kuorma on pidempään esimerkiksi yli 90 % (=juminut, seonnut tai mitä hyvänsä) niin lähettää sammutuskäskyn kyseiselle prosessille.   Käyttöesimerkki jos valvottavan ohjelman nimi on vaikkapa "rtmpdump":

Koodia: [Valitse]
./react2load  90  15  rtmpdump
eli jos kuorma on 90% yhtäjaksoisesti vähintään 15 s ajan niin "rtmpdump" saa sammutuskäskyn.
Ohjelma sammuttaa itsensä lopetettuaan ensin valvottavan kohteensa toiminnan eli ei jää turhaan roikkumaan tehtyään tehtävänsä.  Tehtävä toimenpide voisi olla jotain muutakin kuin "killall", helppo muuttaa tuohon jos tarvitsee.

Tuota voi soveltaa pelkkään kuorman mittaukseenkin kun antaa prosenttiarvoksi yli sata ja sammuttaa sen Ctrl-C: llä lopuksi:

Koodia: [Valitse]
./react2load  101 15  rtmpdump
Laitoin esille tänne:

http://www.homelinuxpc.com/download/react2load

Kirjoitin yksinkertaisen kuormageneraattorin jolla pääsee kokeilemaan täydellä kuormalla (100 %) sekä pienemmillä osakuormilla.  Skripti löytyy täältä nimellä "load2cpu":

http://www.homelinuxpc.com/download/load2cpu

Tuolla pääsee kokeilemaan niin että yhteen päätteeseen kuormaa päälle CPU: lle ja toiseen mittaus/ pakkosammutus.

Mukavasti lähtee läppärissäni ainakin tuuletin pyörimään kun laittaa täyden CPU-kuorman päälle.

Käyttöohje kuten kaikilla skripteillä, tiputuksen jälkeen ajo-oikeus päälle joko graafisesti tai sitten päätteessä:
Koodia: [Valitse]
chmod +x  react2load

chmod +x  load2cpu

ja ajaminen tehdään antamalla skriptin nimen eteen pakolliset piste ja kauttaviiva ./  ennen nimeä kun ollaan kansiossa missä skriptit (=bash ohjelmat) sijaitsevat.

Kannattaa huomata että valvottavalla ohjelmalla tulisi olla yksilöivä nimi / ohjelmaa tulisi olla käynnissä vain yksi kappale samaan aikaan tai vain yksi niistä sammuu. Ohjelmaa on toki helppoa muuttaa jos tarve on muuta.
« Viimeksi muokattu: 08.08.13 - klo:21.49 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #202 : 17.01.14 - klo:19.23 »
SD-kortilta vain uudet kuvat talteen --->  ~/Kuvat/Valokuvat/Kamerasta

Tarve oli kerätä ajoittain talteen kameran kortilta vain ne uudet kuvat / videot omalle koneelle johonkin hakemistoon ilman mitään lajittelua jollain nopealla tavalla ja niin että kaikki tulee talteen ilman erityistä pähkäilyä.  Kirjoittelin pikku skriptin joka tekee tuon ainakin itselleni sopivalla tavalla "rsync" ohjelman avulla.  Tuo rsync kopioi vain muuttuneet eli tässä tapauksessa ne uudet valokuvat talteen.  Keksin tuolle nimen "sdup"  (SD-kortilta upload).   Se kopioi oletuksena uudet tiedostot SD-kortilta "DCIM" kansion alta --->  ˝/Kuvat/Valokuvat/Kamerasta jonka alta löytyy kameran kortilla näkyvät kansiot, itselläni 100_FUJI ja 101_FUJI joissa itse valokuvat ovat. 
Kuvien talteenotto on nopea ja helppo toimenpide jos laitat tuon vaikka kotikansioosi ja annat sille ajo-oikeuden:

Koodia: [Valitse]
./sdup
Eteen ei tarvitse tuota piste-kauttaviiva yhdistelmää jos kopioit skriptin "polun varteen" eli vaikka --> /usr/local/bin kansioon.   Jos oletuskansio valokuville ei ole hyvä niin voit antaa oman kohdekansiosi:

Koodia: [Valitse]
./sdup   /home/ville/jotain_parempaa_valokuville
Laitoin skriptin esille:

http://www.homelinuxpc.com/download/sdup

Uudempi versio "sdup2"täällä:
http://www.homelinuxpc.com/download/sdup2

Toiminnasta:  Skripti etsii kameran korttia "/media" -kansion kyseisen käyttäjän haaroista olettaen löytävänsä sen sillä että SD-kortilla on DCIM kansio ja kopioi "rsync" ohjelmalla uudet kuvat haluttuun paikkaan. En ole kokeillut toimiiko tuo missä määrin oikein muiden kameroiden kanssa kuin omani, Fujifilm FinePix HS35.
Skripti näyttää mitä se yrittää tehdä ja kysyy vahvistuksen ennen toimenpidettä.  Vain "K" niin kuin "kyllä" kelpaa hyväksynnäksi.  Myös kirjoitusoikeus kohdekansioon tarkastetaan ennen kopiointiyritystä.
« Viimeksi muokattu: 03.01.15 - klo:13.45 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Postimies

  • Käyttäjä
  • Viestejä: 2323
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #203 : 17.01.14 - klo:21.55 »
Ideana hyvä. Nykyisillä muistikorteilla kun voi olla yli tuhatkin kuvaa.

Voisi katsoa myös kansion /run/media/$USER/*/DCIM sisällön.
 /usr/local/bin on hyvä paikka kaikille käyttäjille.
Vaihtoehtona tietysti käyttäjän oma /bin kansio, joka yleensä
sisältyy polkumääreeseen. Sitä en muista kirjoittaako -a
vanhempien tiedostojen päälle jos sattuu kuvien numerot
olemaan samat. Kiva lisä olisi jos muuttaisi tiedostojen nimet
pienellä. Eli DSC_0629.JPG olisi dsc_0629.jpg
Saḿalla ExifTool voisi pistää exif-dataan tekijänoikeustiedot.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #204 : 18.01.14 - klo:15.02 »
Lainaus
Voisi katsoa myös kansion /run/media/$USER/*/DCIM sisällön.

Kirjoitin funktion joka varmistelee kumpi paikka on käytössä.  Funktio lukee listasta nuo paikat eli sitä on helppoa täydentää jos uusia paikkoja ilmenee.  Uusi versio on esillä.

Tuo ylikirjoitusasia saattaa olla hieman ongelmallinen, käsittäisin että rsync on suunniteltu ylikirjoittamaan.  Täytyisi hieman kokeilla mitä kamera tekee kun vaihtaa korttia tai tyhjää kortin eli miten helposti kävisi että kameran kortilla saman nimisessä kansiossa samalla nimellä olisi eri kuva kuin aiemmin vai onko tuo mahdollista ollenkaan ?

Nuo tiedostonimet olisi helppoa muokata mielivaltaisesti mutta siitä seuraisi että rsync kopioisi aina kaiken uudestaan kun samannimistä / aikaleimaista tiedostoa ei ole kohteessa.
« Viimeksi muokattu: 18.01.14 - klo:15.32 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Postimies

  • Käyttäjä
  • Viestejä: 2323
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #205 : 18.01.14 - klo:17.10 »
Tuo uusi paikka levyille (/run/media/$USER/jokumedia) on sekoittanut monien (varmuuskopio) scriptit. Itsekin ihmettelin tuota päivityksen jälkeen. Samoin eth0 on nykyään enp2s0. Ei tuotakaan heti keksinyt..

Kameroita on monenlaisia. Jos asetuksissa on, että tyhjä kortti aloitetaan esim. numerosta DSC_0001.JPG niin päällekirjoituksen vaara on olemassa. Itselläni on kaksi kameraa, josta syystä saman nimisiä tiedostoja löytyy. FAT-systeemissä joku raja tiedostojen lukumäärelle. Siksi niitä pitää tunkea alihakemistoihin. Kun tiedostaja vielä luetaan listasta eikä puusta niin tiedoston haku on kovin hidasta.

nm

  • Käyttäjä
  • Viestejä: 13363
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #206 : 18.01.14 - klo:18.58 »
Tuo uusi paikka levyille (/run/media/$USER/jokumedia) on sekoittanut monien (varmuuskopio) scriptit.

udisks2:n muutos. Debianissa ja Ubuntussa siirto /run-hakemistoon on kumottu epästandardina ja sijainti on /media/$USER/jokumedia.


Samoin eth0 on nykyään enp2s0.

Tämä taas taitaa olla systemd:n ideointia, mutta ehkä siitä tulee jossain vaiheessa yleinen standardi.
« Viimeksi muokattu: 18.01.14 - klo:19.01 kirjoittanut nm »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #207 : 01.02.14 - klo:19.39 »
Ideoin hieman jos tiedostot nimeäisi kameran kortilla olevien tiedostojen päiväyksen mukaan jo ennen loppukopiointia eli tekisi linkkilistan josta rsync kopioisi mutta kokeillessani huomasin että idea ei toimi:  Samalla tiedostopäivällä + kellon ajalla on yllättäin useampia tiedostoja kameran kortilla:

ln: failed to create symbolic link ”/tmp/sdup2/2013-12-27_12:33:36-JPG”: Tiedosto on olemassa

-rw-r--r-- 1  76969152 2013-12-27 12:33:36.000000000 +0300 DSCF1118.MOV
-rw-r--r-- 1    1082735 2013-12-27 12:33:36.000000000 +0300 DSCF1119.JPG
-rw-r--r-- 1    1114761 2013-12-27 12:33:36.000000000 +0300 DSCF1120.JPG


Yllättävää ja harmillista sillä tuo olisi pyörinyt nopeasti. Sillä olisi mahdollisesti välttänyt eri kameroista tuotujen tiedostojen nimikonfliktit ja saman nimisten tiedostojen ylikirjoituksen.
Kokeilen seuraavaksi lisää  EXIF "CreateDate" kentän hakua kuvatiedostosta, tämä taitaakin onnistua...  

Edit:
No nyt se toimii aika mukavasti.  Tiedostot tallettuvat nimettynä uudestaan kuvanottopäivän + kellonajan mukaan joka luetaan kuvan EXIF-tiedoista.

Kuvat/Valokuvat/Kamerasta_nimetty/2014-01-31_12:33:23.jpg

Tein tuonne syntymään uuden kansion "Kamerasta_nimetty" johon kuvat siirtyvät SD-kortilta. Isot kirjaimet muuttuvat pieniksi tiedostotyypissä eli SD-kortin ".JPG" ---> ".jpg".  Koska toiminta on hieman erilainen kuin vanhemmassa versiossa joka kopioi nimeämättä mitään niin muutin nimenkin tälle "sdup2": ksi.  Vanhaa ja uutta voi halutessaan käyttää rinnakkainkin.

Tämä "sdup2"tarvitsee "exif" ohjelman toimiakseen:

Koodia: [Valitse]
sudo apt-get install exif
Itse "sdup2" on täällä:

http://www.homelinuxpc.com/download/sdup2


Ajo-oikeus ja polun varteen kuten ylempänä kerrottu.

Edit2
Parantelin ja korjasin tätä hieman.  Koekäytön perusteella tuntuisi tekevän tehtävänsä aika hyvin. Se nimeää kuvat niiden ottopäivän mukaan (exif) ja videot tiedostopäiväyksen mukaan.
« Viimeksi muokattu: 28.02.14 - klo:21.06 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #208 : 02.03.14 - klo:13.29 »
chkver

Pikku skripti joka näyttää versiotietoja ja virtualisointialustan (VMware, QEMU). Esimerkkinäyttö kolmelta eri koneelta:

./chkver
Issue:            Red Hat Enterprise Linux Server release 6.5 (Santiago)
Bit width:        64 bits
Kernel:           2.6.32-431.el6.x86_64
Sound:            No ALSA found
Virtual:          VMware

./chkver
Issue:            Red Hat Enterprise Linux Server release 5.10 (Tikanga)
Bit width:        32 bits
Kernel:           2.6.18-371.3.1.el5
Sound:            No ALSA found
Virtual:          QEMU

./chkver
Issue:            Linux Mint 15 Olivia
Bit width:        32 bits
Kernel:           3.8.0-19-generic
Sound:            Advanced Linux Sound Architecture Driver Version k3.8.0-19-generic.
Virtual:          Physical machine

En ole kokeillut muilla alustoilla näyttääkö tämä mitään järkevää mutta jos kokeilet esim. XEN: ssä niin on toki hauska kuulla mitä tuo näyttää.

http://www.homelinuxpc.com/download/chkver


PS: Ääniongelmatilanteessa se huomaa jos ALSA ei ole latautunut (jolloin esim. sudo modprobe snd_--jotain voi auttaa tilapäisesti).  Ylläolevissa esimerkeissä sitä ei tosin kuulunutkaan löytyä.

PPS:  Tässä skriptissä on puute.  Toiminta perustuu "dmesg" tulosteen seulontaan mutta jossain tilanteessa jolloin viestejä tulee paljon tuo osa jossa virtualisoinnin jäljet näkyy häipyykin niin että se ei enää näy ja skripti tulkitsee koneen fyysiseksi. On olemassa myös muita keinoja tunnistaa virtualisointi skriptissä mutta harmillista vain ne vaativat korotetut oikeudet (sudo). 
« Viimeksi muokattu: 03.01.15 - klo:13.54 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 10894
    • Profiili
    • Tomin kotisivut
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #209 : 21.09.14 - klo:15.49 »
Tulinpa äsken kirjoittaneeksi tällaisen:
Koodia: [Valitse]
#!/bin/sh

KERNEL_ORG=www.kernel.org

kernels=$(wget -O - $KERNEL_ORG 2> /dev/null |\
    grep -A 2 -E '(mainline|stable|longterm|linux-next):' |\
    sed -re 's/<\/?\w+>//g'|tr -d ' \t' |tr '\n' '\t' |\
    sed -re 's/\t*--\t*/\n/g' )

echo -e "\033[1mtree\tversion\trelease date\033[0m\n$kernels" |\
    awk -F "\t" '{ printf("%-12s\t%-8s\t%-10s\n", $1, $2, $3) }'
Käyttäkää miten haluatte. Kätevä lisää tuohon vielä vipuset, joilla saa valittua että tarkastellaan vaikka vain mainline:n versiota. Tuo on nopeasti kokoon häkätty, joten siellä on pari sed:iä ja tr:ää, joita en jaksanut yhdistää. Melko varmasti pelkällä yhdellä sed:lläkin olisi selvinnyt. Toisaalta aiemmin tuossa oli montakin noita sed:n lauseita, siksi nuo e-vivut tuolla.
« Viimeksi muokattu: 21.09.14 - klo:15.52 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

petteriIII

  • Käyttäjä
  • Viestejä: 600
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #210 : 21.09.14 - klo:18.59 »
Nuo \-merkit rivien lopuissa ovat varmaankin ohje kääntäjälle siitä, että asia jatkuu seuraavalla rivillä ? Onko niiden käyttämiseen mitään ohjetta ? Vai onko lause vain helpompi kasata kun käyttää niitä ?

Kun sudo on annettu on se jonkinaikaa voimassa. Joskus salasan voimassaolo olisi mukava tietää. Sen saakin tietää seuraavasti;
function OnkoSudoSalasanaAnnettu { sudo -n uptime 2>&1 | grep "load" | wc -l ; }; OnkoSudoSalasanaAnnettu;
joka tulostaa 1 jos salasana on voimassa ja 0 mikäli salasana ei ole voimassa.
« Viimeksi muokattu: 31.12.14 - klo:19.45 kirjoittanut petteriIII »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #211 : 21.09.14 - klo:20.47 »
Joskus on kivempi lukea ja editoida lyhyempiä rivejä komento komennolta kuin yhtä piiiiitkää pötköä joka alkaa mennä ulos reunoista. Ei tuossa sen kummempaa, käyttösääntö on että sen kenoviivan jälkeen ei saa olla muuta kuin LF merkki eli rivin siirto.
Muita käyttöjä tuolle kenoviivalle on merkin suojaus eli "eskeippaus", toisin sanoen jos/kun merkillä on jokin erikoistoiminto jossain komennossa niin voidaan kertoa että nyt ei tarkoiteta sitä toimintoa vaan kyseistä merkkiä sellaisenaan. Tuokin käyttö näkyy tuolla Tominin koodissa. Lisäksi joitakin ennalta varattuja erikoismerkkejä voidaan käyttää kenoviiva-alkuisina lyhenteinä.

 
« Viimeksi muokattu: 21.09.14 - klo:20.51 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 10894
    • Profiili
    • Tomin kotisivut
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #212 : 21.09.14 - klo:21.45 »
Nuo \-merkit rivien lopuissa ovat varmaankin ohje kääntäjälle siitä, että asia jatkuu seuraavalla rivillä ? Onko niiden käyttämiseen mitään ohjetta ? Vai onko lause vain helpompi kasata kun käyttää niitä ?

ajaaskel tosiaan kertoikin kaiken oleellisen tuosta merkinnästä. Itselläni on tapana rajata aina kaikki korkeintaan 80:een merkkiin (joskus lyhempäänkin tarpeen mukaan) ja siksi jaoin komennon tuolla tavalla useammalle riville. Mielestäni tuolla tavalla siitä sai erittäin luettavan ja jokaisella on oma tyylinsä noita kirjoittaa kun tällaisessa omassa skriptissä ei ole mitään valmiita tyylisääntöjä, joita pitäisi noudattaa.

Ainakin ohjelmointikielille on omat tyylisääntönsä, mutta en tiedä olisiko shellille jotain tyylisääntöjä.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

petteriIII

  • Käyttäjä
  • Viestejä: 600
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #213 : 23.09.14 - klo:07.33 »
Olen yrittänyt saada järkeä "regular expression":iin. Joten kiitosta edellisestä toimivasta esimerkistä ja selvityksistä sillä ne selvittivät taas monta asiaa.


Tein skriptin: Tuhannen mittaus-arvon keskiarvon laskenta. Sensors-ohjelma on minulle aikapaljon mysteeri enkä tiedä kuinka sitä voi käyttää luotettavasti. Mutta itse asia onkin se, että tarvittaessa BASH toimii sangen vilkkaasti; esimerkiksi tässähän on kyse tuhannen mittauksen keskiarvosta - ja lisäksi tämän skriptin kuluttama aika menee pääasiassa siihen mittaukseen ja laskenta on nopea.

- keskihajonta ja mitä nyt haluaakin onnistuu awk:illa yhtä nopeasti. Awk on myös matematiikka-nero ja se osaa sinit, logaritmit ja vaikka mitkä - tosin tarkkuus on vain 22 numeroa.

Koodia: [Valitse]
#!/bin/bash
n=0
while true; do
  mittaus[$n]=$(sensors | grep "Core 0" | awk {'print $3'})
  [[ $n -gt 1000 ]] && echo ${mittaus[*]} | awk '{for(i=1;i<=NF;i++) t+=$i; print "ytimen lämpötila: ",t/1000; t=0}' && n=0
  let n++
done

**
Lueskelin LinuxJournalista "regular expressioneista" ja yksi esimerkki oli: ps aux | grep -E ’2[1-9]{1,3}’ . Siitä näkee suoraan että Ubuntussa tuo ei toimi tuommoisena ja sitä täytyy muuttaa. Toimiva käskyn muoto onkin: ps aux | grep -E 2[1-9]{1,3\} . Siis kaksi muutosta.
Onko niin, että linuxien BASH:it eroaa toisistaan noin paljon ? Miksi hommasta ei ole varoitettu missään ?
« Viimeksi muokattu: 23.09.14 - klo:16.20 kirjoittanut petteriIII »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #214 : 20.12.14 - klo:11.51 »
Kuka kolkuttelee koneeni UFW palomuuria... ?

Tulin uteliaaksi kun syslogissa näkyi sadoittain palomuurin koputtelijoita joka päivä ja kirjoitin pikku putken joka poimii syslogista rivit joilla on "BLOCK", seuloo sieltä vain SRC-osoitteen ja syöttää sen "host" -ohjelmalle jolloin saadaan lista domaineista siltä osin kun kyseinen ip löytyy dns: stä.

Koodia: [Valitse]
grep BLOCK /var/log/syslog | grep -o -E  'SRC=[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'| sed 's/SRC=//g' | xargs -i{} host {}205.179.59.59.in-addr.arpa domain name pointer 205.179.59.59.broad.np.fj.dynamic.163data.com.cn.
26.231.38.125.in-addr.arpa domain name pointer no-data.
100.111.126.209.in-addr.arpa domain name pointer static-ip-209-126-111-100.inaddr.ip-pool.com.
106.93.174.93.in-addr.arpa domain name pointer voip.katxoweb.com.
66.188.210.62.in-addr.arpa domain name pointer 62-210-188-66.rev.poneytelecom.eu.
Host 43.79.77.218.in-addr.arpa. not found: 3(NXDOMAIN)
Host 65.144.240.61.in-addr.arpa not found: 2(SERVFAIL)
.
.


Jos haluat vain ip-osoitteet niin tuo lyhenee:

Koodia: [Valitse]
grep BLOCK /var/log/syslog | grep -o -E  'SRC=[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'| sed 's/SRC=//g'
218.77.79.55
208.88.178.59
220.72.35.91
.
.


Niiden osoitteiden sijainnin joilla ei ole reverse-domainia voi tutkia "whois <ip_osoite>" kyselyllä:

Koodia: [Valitse]
whois 220.72.35.91
query : 220.72.35.91


# KOREAN(UTF8)

조회하신 IPv4주소는 한국인터넷진흥원으로부터 아래의 관리대행자에게 할당되었으며, 할당 정보는 다음과 같습니다.

[ 네트워크 할당 정보 ]
IPv4주소           : 220.72.0.0 - 220.91.255.255 (/12+/14)
서비스명           : KORNET
기관명             : 주식회사 케이티
기관고유번호       : ORG1600
주소               : 경기 성남시 분당구 정자동 KT본사 206
우편번호           : 463-711
할당일자           : 20020902

[ IPv4주소 책임자 정보 ]
이름               : IP주소관리자
전화번호           : +82-2-500-6630
전자우편           : kornet_ip@kt.com
.
.

« Viimeksi muokattu: 20.12.14 - klo:11.54 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

petteriIII

  • Käyttäjä
  • Viestejä: 600
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #215 : 21.12.14 - klo:13.43 »
Voisitko antaa pientä avitusta tästä hommasta tai kertoa mistä kannattaa hakea tietoa koska ainakin minä olen tässä asiassa aivan urpo: katsoin onko koputuksia ja mitään ei ollut. Laitoin cufw:n päälle ja otin heti uuden listauksen. Koreasta oli tullut jotakin, ehkä tosiaan vain koputus jonka kaltaisia on tullut ennenkin ja kilpistynyt palomuuriin.
- ja kymmenen minuuttia myöhemmin koputuksia oli jo toista tusinaa.
- en ylläpidä serveriä ja kaikkihan vakuuttaa ettei Ubuntussa tarvitse tehdä käyttäjä-koneelle mitään vaan jo perusasetus riittää estämään lähes kaiken ja käyttäjä-koneen täydellinen suojeleminen on melko mahdotonta jokatapauksessa. Ja kohta sanotaan että tuli jo housuihin, enää ei kannata tehdä mitään.
**
jo pari vuotta sitten aloin ihmetellä time-käskyn ilmoittamia aikoja. Kesti näin kauan saada minkäänlaista varmuutta, ja vieläkin asia on epäselvä sillä itse käyttöjärjestelmä sekoittaa. Mutta seuraavaa on selvinnyt:

1. time-käskyyn verrattuna tarkkuus paranee ainakin dekadilla mitattaessa ajat funktiolla: aika=$(date +%s.%N) , mutta toisaalta ilmoitettu aika kuvannee yksinomaan time-käskyn real-aikaa.
2. time-käskyllä on taipumus ilmoittaa liian suuria arvoja kun aika on pieni - esimerkiksi kun todellinen ajankulu on 2-2.3 ms niin time-käsky voi ilmoittaa jonkin ajan väliltä 4-7ms. Nopeiden funktioiden ajoittaminen menee siis ihan metsään ja keskiarvojenkin määritys jää epämääräiseksi.
« Viimeksi muokattu: 18.02.15 - klo:17.43 kirjoittanut petteriIII »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #216 : 21.12.14 - klo:18.52 »
Lainaus
Voisitko antaa pientä avitusta tästä hommasta....

Jatkoin tuonne näistä palomuuriasioista:

http://forum.ubuntu-fi.org/index.php?topic=48144.0
« Viimeksi muokattu: 21.12.14 - klo:18.58 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3392
    • Profiili
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #217 : 29.12.14 - klo:23.44 »
Ne ketkä nauhoittelevat Areenasta voivat olla kiinnostuneita skriptistä joka muuntaa kansiollisen .flv -tiedostoja toiseen kansioon .mp4 -tiedostoiksi.  Kirjoittelin tuon skriptin kun tarvitsin itse.  Nuo .mp4 -muotoiset näyttävät toimivan paremmin soittimissa kun halutaan hyppiä nopeasti videon sisällä paikasta toiseen.   Latauksen ja ajo-oikeuksien antamisen jälkeen käyttö on yksinkertaista:

Koodia: [Valitse]
./flv_mp4   <kansio_josta_luetaan_flv>  <kansio_jonne_tehdään_muunnettu_mp4>
Nuo kansiot pitää olla olemassa.   Jos haluat kokeilla vain yhdellä tai muutamalla ensimmäisellä videolla niin voit antaa lukumäärärajan tuohon perään:

Koodia: [Valitse]
./flv_mp4   <kansio_josta_luetaan_flv>  <kansio_jonne_tehdään_muunnettu_mp4>   3
Tuo muuntaa vain 3 ensimmäistä ja luovuttaa sitten.
Vastaavasti voit myös määrätä että onnistuneen muunnoksen jälkeen se alkuperäinen .flv poistetaan:

Koodia: [Valitse]
./flv_mp4   <kansio_josta_luetaan_flv>  <kansio_jonne_tehdään_muunnettu_mp4>   3   --delete
Jos haluat tehdä kaikki kerralla ja poistaa alkuperäisen niin sitten vastaavasti:

Koodia: [Valitse]
./flv_mp4   <kansio_josta_luetaan_flv>  <kansio_jonne_tehdään_muunnettu_mp4>  --delete
Skripti kirjoittelee lokitiedostot onnistuneista ja epäonnistuneista tiedostoista erikseen.  Itselläni ainut syy epäonnistumiseen oli että alkuperäinen tiedosto oli katkennut, muunsin aika ison määrän noita.
Muunnokseen käytetään "avconv" tai "ffmpeg" ohjelmaa, jompikumpi tarvitaan mutta skripti tunnistaa kumpi on saatavilla ja käyttää sitä.
 

Täältä se löytyy:

http://www.homelinuxpc.com/download/flv_mp4

Tuota voi hyödyntää myös runkona jos tarvitset jonkun muun muunnoksen kansiosta toiseen, säätää vain hieman tilanteen mukaan.
« Viimeksi muokattu: 29.12.14 - klo:23.56 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 10894
    • Profiili
    • Tomin kotisivut
Vs: Pienet näppärät scriptit (bash, python, perl yms.)
« Vastaus #218 : 12.01.17 - klo:23.08 »
Eli tämä scripti ottaa kuvan halutusta työpöydän osasta (scrot:illa), tallentaa sen Dropboxin kansioon ja sitten laittaa Public-linkin leikepöydälle (käyttää siihen xclip:ä). Sen voi sitten liittää minne haluaa. Idea on lisätä tämä scripti pikanäppäimeksi työpöytäympäristöön, jotta sitä voi helposti käyttää.

Joskus kauan sitten on tämäkin tullut tänne lähetettyä. Sen jälkeen tuota on jokusen kerran tullut uudistettua ja nyt tänään tuo toimii myös Wayland-istunnossa, kun käytetään GNOMEa. Muutokset eivät ole suuria, mutta scrot ei ole enää ainoa työkalu (välttämätöntä Wayland-istunnossa). Jos tuota käyttää Wayland-istunnossa, niin XWayland on vaadittu, koska xclip ei toimi muuten. Jos joku tietää miten GNOME Shellin (tai jonkun muunkin työpöydän tai komposoijan) Wayland-istunnossa voisi tehdä saman ilman XWaylandiä, niin kertokaa toki. X11:sta alla toimii suoraan, tosin saatat haluta korjata Dropboxin kuvahakemiston ja joissain tapauksissa ehkä myös Dropboxin komennon oikeaksi.

Lisäksi nykyinen versio ei enää käytä noita public-linkkejä tai Public-hakemistoa, koska niitä ei enää voi käyttää Dropboxin komentorivisovelluksella. Sen sijaan täytyy käyttää jaettuja linkkejä. Niillä ei saa suoraa linkkiä kuvaan, joten nyt linkit osoittavat Dropboxin sivulle, jonka keskellä kuvakaappaus on.

Skripti vanhoine versioineen löytyy tuolta: https://gist.github.com/Tomin1/fc772002b9eea66f6ae4
« Viimeksi muokattu: 12.01.17 - klo:23.13 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.