Hirdetés

2019. február 22., péntek

Gyorskeresés

Hozzászólások

(#201) bambano válasza Jester01 (#200) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

info sed szerint meg dokumentált:
The syntax of the `s' (as in substitute) command is `s/REGEXP/REPLACEMENT/FLAGS'. The `/' characters may be uniformly replaced by any other single character within any given `s' command. The `/' character (or whatever other character is used in its stead) can appear in the REGEXP or REPLACEMENT only if it is preceded by a `\' character.

A man szerint meg a full doksit a texinfo-ban kell keresni :)

[Szerkesztve]

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#202) Jester01 válasza bambano (#201) üzenetére


Jester01
(PH! kedvence)

:R :W

Jester

(#203) bambano válasza Jester01 (#202) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

Kéne már egy szmájli, ahol két fej sörrel koccint :)

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#204) partymaci


partymaci
(fanatikus tag)

sziasztok

szeretnem a segitsegeteket kerni.
egy olyan script kellen ami egy adott konyvtarban levo fajlokat megvizsgalja datum alapjan és a 20 napnal regebbieket kitorli.
sokat filoztam hogy hogylehetne, arra gondoltam hogy a
date --date '20 days ago'
parancsal kiiratom a 20 nappal ezelotti datumot és osszhasonlitom(for ciklus?) a fajlok utolso modositasanak datumaval. Ha a datumok megeggyeznek vagy regebbiek akkor a fájl > /dev/null

otlet?
thx

Ha nincs elég bajod, vegyél számítógépet!

(#205) Jester01 válasza partymaci (#204) üzenetére


Jester01
(PH! kedvence)

find dir -mtime +20 -print0 | xargs -0 rm
Újabb find esetén a beépített xargs támogatással: find dir -mtime +20 -exec rm {} +

MOD: igény szerint még -type f is.

[Szerkesztve]

Jester

(#206) seaky77


seaky77
(tag)

Sziasztok,
Van egy progi aminek az outputja igy néz ki:

xxxx.txt 1234 324 567
xxxx2.txt 1234 324 567
OK

Ezt kén a következő formára hozni:

<TR><TD>xxxx.txt<TD>1234<TD>324<TD>567
<TR><TD>xxxx2.txt<TD>1234<TD>324<TD>567

Megtudom ezt oldan ezt script-tel?
Van arra valami mód pl: hogy a számokat formázzam pl elosszam 1024-el?

Köszi

(#207) Jester01 válasza seaky77 (#206) üzenetére


Jester01
(PH! kedvence)

Például:

while read f a b c
do
if [ ''$f'' = ''OK'' ]
then
break
fi
echo ''<TR><TD>$f<TD>$a<TD>$b<TD>$c''
done

A $((a / 1024)) el fogja végezni az osztást, de a shell csak egész számokat ismer. Különben bc vagy dc:
echo ''<TR><TD>$f<TD>$(dc -e ''2 k $a 1024 / n'')<TD>$b<TD>$c''

Jester

(#208) seaky77 válasza Jester01 (#207) üzenetére


seaky77
(tag)

nagyon köszi!

(#209) ocsi19


ocsi19
(senior tag)

hi tudna valaki segíteni?(sűrgős lenne)
shell script feladat:

Írjon shell scriptet, amely az aktuális könyvtárban található, páros számjegyekkel kezdődő fájlneveket a paraméterben kapott fájlba írja, a fájlba írt fájlnevek számát pedig a képernyőre.

Előre is köszi :)

üdv.: ocsi

(#210) Jester01 válasza ocsi19 (#209) üzenetére


Jester01
(PH! kedvence)

Kiindulási alapnak ez jó lesz: ls -1d [02468]* | tee ''$1'' | wc -l
Direkt nem írtam tökéletes verziót, valamit csinálj te is ;)

Jester

(#211) ocsi19 válasza Jester01 (#210) üzenetére


ocsi19
(senior tag)

húú tx, nemár, zh-t írok :DD mindjá vége az órának XD

(#212) Jester01 válasza ocsi19 (#211) üzenetére


Jester01
(PH! kedvence)

Ha már úgysincs fogalmad róla, akkor a kettes nem elég jó? ;]

find -maxdepth 1 -type f -name '[02468]*' -printf '%f\n' | tee ''$1'' | wc -l

Jester

(#213) ocsi19 válasza Jester01 (#212) üzenetére


ocsi19
(senior tag)

nagyon szépen köszönöm! :R

(#214) GD


GD
(PH! addikt)

üdv!

szeretnék egy cron-ban futó raid1 tömb ellenőrző scriptet

/usr/local/sbin/raidfeel tartalma eddig:

mdadm --detail /dev/md0 |grep Failed

ezt adja vissza jóesetben:

Failed Devices : 0

namármos, vhogy azt kellene elérni hogy:

kivágni az adott nullát (18. karakter a sorban), betenni változóba és
if változó nulla írja ki ''minden ok md0''
ha változó nemnulla akkor tegyen le egy txt-t ''raid hiba'' tartalommal a /home/gd/Desktop-ra

mindez futna cron-ba 5 percenként
lehet hogy van egyszerűbb mód is, ötleteket várok, igazából értem mit kellene csinálni a fentiek alapján, de nem tudom bash-ül leírni (még).. a dolog hasznossága a tanulás is lenne...


köszi

(#215) Jester01 válasza GD (#214) üzenetére


Jester01
(PH! kedvence)

kivágni az adott nullát (18. karakter a sorban)
Konkrétan ezt így lehet:

line=`mdadm --detail /dev/md0 |grep Failed`
if [ ''${line:17:1}'' = ''0'' ]
then
echo ''minden ok md0''
else
echo ''raid hiba'' > /home/gd/Desktop/raid.txt
fi

Ha tudod pontosan mit ad vissza jó esetben, akkor célszerûbb egy-az-egyben azt ellenõrizni.
Egyébként pedig raid eszközöket az mdadm démon üzemmódjával lehet figyelni.

[Szerkesztve]

Jester

(#216) GD válasza Jester01 (#215) üzenetére


GD
(PH! addikt)

köszi!

Let's see a basic example. Running

mdadm --monitor --mail=root@localhost --delay=1800 /dev/md2

should release a mdadm daemon to monitor /dev/md2. The delay parameter means that polling will be done in intervals of 1800 seconds. Finally, critical events and fatal errors should be e-mailed to the system manager. That's RAID monitoring made easy.

Finally, the --program or --alert parameters specify the program to be run whenever an event is detected.

Note that the mdadm daemon will never exit once it decides that there are arrays to monitor, so it should normally be run in the background. Remember that your are running a daemon, not a shell command.


ennyit találtam a monitorozásról, de a mail és a sysmail dolgokra még semmi rálátásom nincs, ergo, fogalmam sincs mitől fogja a localhost-on a root megkapni a mail? procmail?
továbbá hogy mi kell hozzá és hogy kell konfigolni..


ezért született a script ötlet..
persze ha ez egy távoli gép akkor sokkal jobb lenne a mail nyilván nem localhost-ra

hogy csinálják ez a nagyok?

(#217) partymaci válasza Jester01 (#205) üzenetére


partymaci
(fanatikus tag)

koszi szepen a segitseget

Ha nincs elég bajod, vegyél számítógépet!

(#218) ngabor2


ngabor2
(PH! nagyúr)

egy némító/visszaállító szkriptet kellene összehozni. addig már eljutottam, hogy az aumix -q kiírja a hangerősséget
vol 90, 90, R
pcm 45, 45
mic 100, 100, P
igain 0, 0

alakban.
grep vol, aztán megfelelően formázott cut, esetleg sed, és megvan a 2 érték. ezt praktikusan egy változóban tárolnám.

export left1=`aumix -q | grep vol | cut -d'' '' -f2| sed s/,//`
export right11=`aumix -q | grep vol | cut -d'' '' -f3| sed s/,//`

és innentől nem áll bennem össze a kép... az if-et sose szerettem :D
lefut a szkript, megnézi, hogy némítva van-e (futott-e már előtte, ami némítást okozott, pl. $mute értéke 1-e). ha igen, akkor visszaírja a left1/right1 értékét, pl.
ha a hangerő értéke 0, akkor left1/right1 értékére kellene beállítani.
rexima vol $left1,$right1
ha még nem futott, tehát nincs $mute, akkor export mute=1, aztán a fenti 2 érték elmentése, majd némítás,
rexima vol 0

valaki megcsinálná a keretet hozzá?

(#219) VladimirR


VladimirR
(PH! nagyúr)

szamit, hogy az alabbi ket sor kozul melyiket hasznalom?
miert?
miert azt?

pppstats ppp0 2>/dev/null | tail -n1 | egrep '\|' | { read c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb ; echo "down.value $c1"; echo "up.value $c7"; }

pppstats ppp0 2>/dev/null | tail -n1 | egrep '\|' | awk "{ print \"down.value \" \$1 \"\nup.value \" \$7 }"


[Szerkesztve]

(#220) Jester01 válasza VladimirR (#219) üzenetére


Jester01
(PH! kedvence)

A kettő között nincs jelentősebb különbség, talán a shell-es megoldás jobb, mert a bash jó eséllyel már a memóriában van. Jelen esetben persze nincs jelentősége.

Igazából a másodikat kellene átírni úgy, hogy a tail meg az egrep nem kell bele, mivel úgyis awk-t használsz. Az egrep amúgy mit is csinálna? És miért egrep? Pl. ez lehet egy megoldás:

pppstats ppp0 2>/dev/null | awk 'NR==2 { print ''down.value '' $1 ''\nup.value '' $7 }'

Jester

(#221) VladimirR válasza Jester01 (#220) üzenetére


VladimirR
(PH! nagyúr)

jajj, az egrep veletlenul maradt benne (2>/dev/null valtotta fel, mikor rajottem, hogy van ilyen is)

koszi a segitseget

(#222) GD


GD
(PH! addikt)

üdv!

ntfs-3g mounthoz szeretnék egy kis mankót hogy ne kelljen mindig copyzni a wikiből
[link]

lényege az kellene legyen hogy lenne egy script aminek paraméterben csak a mit és a hovát kellene megadni, a többit magától tudná

elsőnek csatolja le a default auto ntfs mountot (csak olvasható ntfs alap támogatás)
aztán pedig:
ntfs-3g /dev/hdx1 /mnt/<csatolási pontod> -o silent,umask=0,no_def_opts,allow_other,locale=hu_HU.utf8

félkövér= script paraméter
dőlt= tudja magától


köszi

(#223) snowflake válasza GD (#222) üzenetére


snowflake
(tag)

Ha jól értem, akkor valami ilyesmire lenne szükséged:


#!bin/sh
##
## ntfs-g3 remounter script
## $1 paraméter -> az ntfs partíció helye (mit)
## $2 paraméter -> a befűzés helye az fs-be (hová)
##

modprobe fuse #modul betöltése
umount $2
ntfs-3g $1 $2 -o silent,umask=0,no_def_opts,allow_other,locale=hu_HU.utf8


Nem használok ntfst így a fentit nem próbáltam ki, lehetnek benne hibák...

szerk: kicsit szétesett a kód :(
az ntfs-3g kezdetű strófa egysorban van

[Szerkesztve]

(#224) gaben


gaben
(fanatikus tag)

Sziasztok!
Van valami weboldal vagy valami jó kis tutorial,amiből meglehet naggyából tanulni a script írás fortélyait?A www.shellhu.tk nem jön be.

Segítséget előre is köszönöm!

(#225) bobsys


bobsys
(PH! kedvence)

szaisztok
tudom szemétség így direktbe kérni, de tudna valaki nyomni egy scriptet amivel 100usert létretudok hozni gyorsan linux alá?
a user nevek egy user fájlban létre vannak hozva

Enterprise Admin? Kirk kapitany leszel? - Ne törődjél semmivel, egyél zsömlét kiflivel

(#226) Jester01 válasza bobsys (#225) üzenetére


Jester01
(PH! kedvence)

Például:

while read user
do
adduser --disabled-password --gecos ''$user'' ''$user''
done <users.txt

Jester

(#227) gaben


gaben
(fanatikus tag)

Sziasztok!
Olyan shell scriptet kellene írnom,ami megvizsgálja a gépen ,hogy van-e index.htm fájl,és kiiírja,hogy van weblap ,ha nincs akkor pedig nincs weblap.
Kérlek segítsetek,mert ezt csak kiadták feladatnak,de jóformán el se magyarázták :O
Szinte nem mondanak semmit,csak csináld... :O

azért én megpróbáltam,örülnék,ha valaki a működő verziót leírná,mert ez ne mműködik :(
#!/bin/bash
ldapsearch -x -LLL uiod=''index.htm|grep''ˇhomeDirectory:\home\2006\/.*''
if index. htm
then echo ''van weblap''
else echo ''nincs weblap''

fi

Órai cuccból kínlódnék,de azt se mondták el,hogy mi a -x és -LLL kapcsolo...Mi ez?
Man-t sajnos angol nehézségeim miatt nem igazán tudom használni...
Segítséget előre is köszönöm!
Gabo

(#228) gaben


gaben
(fanatikus tag)

A zelőző megoldódott,de most nagyon fontos lenne a help!
Üdv !
Nagy segítségre lenne szükségem,főleg a 2. kérdésben:

Egy könyvtáron belül az összes fájlra hogy lehet hivatkozni?
Mondjuk a cut paranccsal a /etc könyvtárban lévő összes gájlt összeakarom fűzni..
Akkor azt hogy?

Illetve azt hogy lehet megoldani ,hogy xy ember összes rendszerben eltöltött idejét kilistázzam?A last degítségével.Egyenként kilistázza,de összekéne adni.Összes idő kellene.Ezt hogy lehet megcsinálni?

Előre is köszönöm!

(#229) sonar


sonar
(PH! addikt)
LOGOUT blog

fájlt hogyan törlök scriptből? Létrehozás már megy.
nem lehurrogni nem vagyok linuxos

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#230) Sianis válasza sonar (#229) üzenetére


Sianis
(PH! kedvence)

Manual: man rm - itt megtalálsz minden hasznos kapcsolót ami kellhet.

Sianis

(#231) ngabor2


ngabor2
(PH! nagyúr)

van egy ilyen egyszerű kis szkriptem. ha nincs szóköz a kt-k nevében, akkor megy is rendesen. csakhogy nekem most épp olyan könyvtáraim vannak, amikben van szóköz... próbáltam idézőjelbe tenni a $i-t, az se segített. ötletek?

#!/bin/bash
for i in $(find . -type d); do
cd $i
unrar x *rar ..
cd ..
done


(#232) dabadab válasza ngabor2 (#231) üzenetére


dabadab
(Jómunkásember)

Nagyjabol ket lehetoseged van:
1. A scriptben az IFS-bol kiveszed a space-t, de ez csak addig fog segiteni, amig mondjuk vki nem rak egy entert a konyvtarnevbe :)
2. A find -exec parameteret hasznalod: find . -type d -exec echo ''{}'' \;

DRM is theft

(#233) ngabor2 válasza dabadab (#232) üzenetére


ngabor2
(PH! nagyúr)

köszi, úgy tűnik, a 2. megy.

(#234) GD


GD
(PH! addikt)

üdv! ezt a majdnem fix sort kellene scriptbe tenni aminek mindössze a kiemelt sor kellene megadni paraméternek futtatáskor:

growisofs -Z /dev/scd0=/utvonal/valami.iso -use-the-force-luke=notray -use-the-force-luke=tty -dvd-compat -speed=16 -use-the-force-luke=bufsize:32m

köszi!

(#235) dabadab válasza GD (#234) üzenetére


dabadab
(Jómunkásember)

#!/bin/sh
grovisofs -Z /dev/scd0=''$1'' -use-the-force-luke=notray -use-the-force-luke=tty -dvd-compat -speed=''$2'' -use-the-force-luke=bufsize:32m

ezekutan az ''akarmi.sh /utvonal/valami.iso 16'' paranccsal irhatod a lemezeket, ha mar a k3b vmiert nem jo :)

DRM is theft

(#236) GD válasza dabadab (#235) üzenetére


GD
(PH! addikt)

mindössze csak azé' nem jó a k3b mert nincs grafikus felület :) az adott gépen nem is lesz..nem ez a fő profilja
köszönöm a megoldást, re5pect'

(#237) almi


almi
(senior tag)

Sziasztok!

Valakinek van esetleg ötlete arra, hogy a tac parancsot hogy lehetne megvalósítani egy Linux scriptel?
Azaz egy olyan program, amelyik egy argumentumként megadott fájlt fordítva (utolsó sorát elsőnek, stb.) képes megjeleníteni.
Vannak itt még apróságok h írjon hibát ha nem létezik a file, több filet is tudjon kezelni, de egyenlőre elég lenne egy kis segítség h valahogy el tudjak indulni.

Köszi.
Üdv.

(#238) dabadab válasza almi (#237) üzenetére


dabadab
(Jómunkásember)

#!/bin/sh
tac ''$@''

Bocs :) Mondjuk nem irtad, hogy pontosan mivel is kellene (lehet, hogy siman builtinekkel is ossze lehetne hozni), de itt van pl egy sed-es megfejtes:

#!/bin/sh
for FILE in ''$@'' ; do
if [ -f ''$FILE'' ] ; then
sed '1!G;h;$!d' ''$FILE''
else
echo ''$FILE nem sima file (hanem valami mas vagy nem is letezik)'' >/dev/stderr
fi
done

[Szerkesztve]

DRM is theft

(#239) almi válasza dabadab (#238) üzenetére


almi
(senior tag)

Huh, ez gyors voltm, köszönöm szépen :)
Háááát, annyira még nem értek hozzá, de ilyen sed-es valamit még nem láttam:)
De biztos jó..
Köszi

Mod: Ja és még anyi, hogy ha szépen megkérlek el tudod nekem megíarázni ennek a sed-nek a lényegét?:)

[Szerkesztve]

(#240) almi válasza almi (#239) üzenetére


almi
(senior tag)

és még 1 kérdés, mi mindíg azt írjuk h /bin/bash ez ugyan az mint a /bin/sh?:)

(#241) almi válasza almi (#239) üzenetére


almi
(senior tag)

és még 1 kérdés, mi mindíg azt írjuk h /bin/bash ez ugyan az mint a /bin/sh?:)

(#242) dabadab válasza almi (#241) üzenetére


dabadab
(Jómunkásember)

Nem teljesen. A bash az eredeti sh tovabbfejlesztett valtozata, sokkal tobb feature-rel. Eleg sok modern rendszeren a /bin/sh igazabol link a bashra, viszont erre vonatkozolag semmi garancia nincs, igy ha parancsvegrehajtonak az sh-t jeloli meg az ember, akkor nem illik bash feature-oket hasznalni.

A sed meg, roviden elmagyarazva, egy stream editor :) Vagyis arra jo, hogy ha van egy streamed, akkor azon, a sajat scriptnyelven megadott szerkeszteseket vegre tud hajtani - a gyakorlatban az esetek nagy reszeben search'n'replace feladatokra hasznaljak, de ennel sokkal tobbet tud.

DRM is theft

(#243) almi válasza dabadab (#242) üzenetére


almi
(senior tag)

Értem.köszi szépen!:) :R

(#244) Jester01 válasza dabadab (#242) üzenetére


Jester01
(PH! kedvence)

Sőt, hiába link mert a bash megnézi milyen néven indították és ha szükséges akkor sh (posix) kompatibilis módba kapcsol.

Jester

(#245) ngabor2


ngabor2
(PH! nagyúr)

ez a szkriptelés folyton kifog rajtam...

alapszitu: [link]. első lépésben megpróbáltam volna a /var/mail/mdir/cur/1176832301.000002.mbox\:2\, nevet átalakítani, pl. csak a 2. tagot megtartani, mert csak abban különbözik.

a find . -type f -print ki is írja őket sorban, ezután fűzve a cut -d. -f3 kivágja a megfelelő részt. csakhogy nem tudom megcsinálni, hogy az eredeti név is megmaradjon, és át is tudjam nevezni.

igaz, ezzel a lényegtől kanyarodok el, procmaillel kellene ezeket a file-okat megetetni, hogy szépen helyérepakolja őket a rendszer (elég szép hosszú a .procmailrc-m...). kifogytam az ötletekből.

(#246) [sultan]


[sultan]
(kvázi-tag)

valaki tudna segíteni abban, hogyan lehet egy processzt x ideig üzenetsoron várakoztatni :R
ipc :B

(#247) GD


GD
(PH! addikt)

üdv!

kis béna scriptemhez kérek ránézős ellenőrzést


#!/bin/sh
raid=`/sbin/mdadm --detail /dev/md0 | grep ''Failed'' |cut -c19`
if test $raid -eq 0
then echo ''a Raid1 tömb (/dev/sda + /dev/sdb) *samsung vinyók* HIBÁTLAN!!!''
else echo ''valami nem jó , ERROR!!!''
fi



kérdés: ha a 0 nem nulla, akkor az else ág biztosan lefut e? nehogy csalóka biztonságba ringassam magam...

[Szerkesztve]

(#248) snowflake válasza GD (#247) üzenetére


snowflake
(tag)

A kérdésedre a válasz igen, bár vannak néha csodák ;)

Szvsz felesleges logolni azt, ha nincs hibás diszk, érdemesebb csak a hibát, és ekkor egy mailben elküldeni a reportot is:

#!/bin/sh
raid=`/sbin/mdadm --detail /dev/md0 | grep ''Failed'' |cut -c19`
if [ $raid -ne 0 ]; then
/sbin/mdadm --detail /dev/md0 | mail -s ''RAID HIBA!'' ahova@akarod.akarmi
fi


(#249) GD válasza snowflake (#248) üzenetére


GD
(PH! addikt)

köszi, kell hozzá valami mail rendszer, konfig, stb..?

(#250) snowflake válasza GD (#249) üzenetére


snowflake
(tag)

Ahhoz, hogy 1-2 ''rendszer'' mailt el tudj küldeni magadnak, nem kell egy agyonkonfigolt MTA.
Felteszed a postfixet, megadod a my.cf fájlba: relayhost = a_szolgáltatód_smtp_servre -t, mynetworks-nél megadod, hogy csak a 127.0.0.0/8 hálóról fogadjon üzenetet és kész.

Copyright © 2000-2019 PROHARDVER Informatikai Kft.