Ik heb een Red Hat Linux server staan. Hier wordt onder /var5/users/app een file geschreven vanuit Oracle. Die file moet opgepikt worden door een machine in de fabriek, die deze file moet gaan aanpassen.
Lang verhaal kort: de rechten moeten 777 zijn, en doordat de file door user oracle geschreven werd, is die niet zo. Nu kan ik dat wellicht met umask regelen maar heb dit nog nooit gedaan, had geen tijd om dit uit te zoeken (want "ze" staan te wachten in de fabriek om te werken) dus heb ik maar snel een quick & dirty scriptje geschreven als volgt (naam scirpt is chmod_app.sh):
date >>/home/oracle/chmod.log
sleep 5
chmod -R 777 /var5/users/app
./chmod_app.sh
... en laat dit een terminal venster op de server draaien...
Niet bepaald de mooiste code die ik ooit geschreven heb en ik ben er niet echt trots op, maar maandag was dit voldoende om de machine werkende te krijgen. ... met in het achterhoofd, "ik los dat straks wel proper op met umask", maar deze week de tijd niet gevonden.
So far so good... of niet...
Nu begint deze server iedere nacht vast te lopen. Hij "bevriest" gewoon. Begonnen met alle crontabs uit te schakelen, alle automatische Oracle jobs,... tot er voor zover ik weet niks meer draait op deze machine op het chmod_app.sh script na. Toch "bevriest" ze iedere nacht en een hard shutdown is het enige wat werkt.
Tot vanmorgen had ik de link nog niet gelegd naar het chmod_app.sh script, dat dus wel nog draaide gedurende de nacht. Nu ben ik de logfile met de datums die ik laat bijhouden eens gaan bestuderen. Daar zou om de 5 seconden een tijdstempel moeten in staan. Daar vind ik echter iets onverwachts:
-gisteren gedurende de hele dag verschijnen de tijdstempels om de 5 seconden.
-om 01.30 vannacht begint er 7 seconden tussen te zitten (alhoewel er een sleep 5 in het script staat)
-om 01.50 is dat al 11 seconden
-om 01.52 duurt het 4 minuten voor de volgende tijdstempel verschijnt
-om 02.06 duurt het 8 minuten voor de volgende tijdstempel verschijnt
-gaat naar interval van 12 minuten tot de loggings helemaal stoppen rond 03.30
-deze morgen was de server opnieuw "bevroren" en hielp enkel maar een hard shutdown
Is inderdaad een dirty script, maar kan dit de oorzaak zijn van de problemen? Door het continue zichzelf oproepen, kunnen daardoor system ressources "verloren" gaan zodat het tenslotte plots helemaal stopt?
Ik zoek in ieder geval vandaag de correcte oplossing met umask...
Lang verhaal kort: de rechten moeten 777 zijn, en doordat de file door user oracle geschreven werd, is die niet zo. Nu kan ik dat wellicht met umask regelen maar heb dit nog nooit gedaan, had geen tijd om dit uit te zoeken (want "ze" staan te wachten in de fabriek om te werken) dus heb ik maar snel een quick & dirty scriptje geschreven als volgt (naam scirpt is chmod_app.sh):
date >>/home/oracle/chmod.log
sleep 5
chmod -R 777 /var5/users/app
./chmod_app.sh
... en laat dit een terminal venster op de server draaien...
Niet bepaald de mooiste code die ik ooit geschreven heb en ik ben er niet echt trots op, maar maandag was dit voldoende om de machine werkende te krijgen. ... met in het achterhoofd, "ik los dat straks wel proper op met umask", maar deze week de tijd niet gevonden.
So far so good... of niet...
Nu begint deze server iedere nacht vast te lopen. Hij "bevriest" gewoon. Begonnen met alle crontabs uit te schakelen, alle automatische Oracle jobs,... tot er voor zover ik weet niks meer draait op deze machine op het chmod_app.sh script na. Toch "bevriest" ze iedere nacht en een hard shutdown is het enige wat werkt.
Tot vanmorgen had ik de link nog niet gelegd naar het chmod_app.sh script, dat dus wel nog draaide gedurende de nacht. Nu ben ik de logfile met de datums die ik laat bijhouden eens gaan bestuderen. Daar zou om de 5 seconden een tijdstempel moeten in staan. Daar vind ik echter iets onverwachts:
-gisteren gedurende de hele dag verschijnen de tijdstempels om de 5 seconden.
-om 01.30 vannacht begint er 7 seconden tussen te zitten (alhoewel er een sleep 5 in het script staat)
-om 01.50 is dat al 11 seconden
-om 01.52 duurt het 4 minuten voor de volgende tijdstempel verschijnt
-om 02.06 duurt het 8 minuten voor de volgende tijdstempel verschijnt
-gaat naar interval van 12 minuten tot de loggings helemaal stoppen rond 03.30
-deze morgen was de server opnieuw "bevroren" en hielp enkel maar een hard shutdown
Is inderdaad een dirty script, maar kan dit de oorzaak zijn van de problemen? Door het continue zichzelf oproepen, kunnen daardoor system ressources "verloren" gaan zodat het tenslotte plots helemaal stopt?
Ik zoek in ieder geval vandaag de correcte oplossing met umask...
There are only two rules in life. #1. There always is a loser. #2. Don't be the loser.