script loopt goed op commandline, fout in cron

Pagina: 1
Acties:

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 30-01 12:44

MrScratch

I am rubber, you are glue

Topicstarter
Ik probeer een backup te automatiseren. Hiervoor is voor gentoo een mooi script dat alle belangrijke zaken in een tar.gz file gooit. Dit script heb ik van deze locatie: mkstage4.sh

Het script is interactief in de zin dat het enkele vragen stelt. Dit kun je automatiseren door de antwoorden in een file te zetten en deze als input in het commando te plaatsen. Dit doe ik als volgt:

/usr/local/sbin/mkstage4.sh < /etc/mkstage4.conf > /var/log/backup.log 2>&1

Op de commandline gaat dit goed en na enige tijd is het script klaar en heb ik mijn backup. Als ik bovenstaande echter in cron plaats om te draaien op bijvoorbeeld 04.00u, dan log ik 's ochtends in en is mijn load op 49 terecht gekomen en zie ik tientallen mkstage4.sh processen in mijn processenlijst. Als ik deze kill dan keert de rust weer enigszins terug.

De logfile is tot 22Mb gegroeid en is volgegooid met de vraag of ik mijn backup wil overschrijven. Kennelijk is het proces duizenden keren opgestart geweest gedurende de nacht.

Is bovenstaande commando niet geschikt voor gebruik in cron, of doe ik iets fout?

Look behind you! A three headed monkey!


  • Mysteryman
  • Registratie: Februari 2001
  • Laatst online: 11:33

Mysteryman

kan jij wat ik kan...

Hoe staat de opdracht in je cron?

Misschien heb je daar een tikfout gemaakt en blijft deze om de 5 min je backup starten...

Everybody happy??? I soon change that here we go...


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

90% van de problemen met cron wordt veroorzaakt door verschillen in $PATH tussen cron [beperkt] en jouw shell [uitgebreid]. Probeer voor de grap eens $PATH te overschrijven met je huidige $PATH in /usr/local/sbin/mkstage4.sh

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • MrScratch
  • Registratie: December 2001
  • Laatst online: 30-01 12:44

MrScratch

I am rubber, you are glue

Topicstarter
De cron regel ziet er als volgt uit:

* 04 * * * /usr/local/sbin/mkstage4.sh < /etc/mkstage4.conf > /var/log/backup.log 2>&1

Volgens mij betekend dit dat hij alleen om 4 uur 's nachts moet gaan lopen.

Het verhaal over $path begrijp ik niet. Hoe kan ik dat precies overschrijven?

Look behind you! A three headed monkey!


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
MrScratch schreef op zondag 16 september 2007 @ 17:51:
De cron regel ziet er als volgt uit:

* 04 * * * /usr/local/sbin/mkstage4.sh < /etc/mkstage4.conf > /var/log/backup.log 2>&1

Volgens mij betekend dit dat hij alleen om 4 uur 's nachts moet gaan lopen.
Volgens mij runt cron het nu elke minuut van 04:00 t/m 04:59, probeer eens met:

code:
1
0 4 * * * /usr/blabla....

"He took a duck in the face at two hundred and fifty knots."


  • MrScratch
  • Registratie: December 2001
  • Laatst online: 30-01 12:44

MrScratch

I am rubber, you are glue

Topicstarter
_Squatt_ schreef op zondag 16 september 2007 @ 18:38:
[...]

Volgens mij runt cron het nu elke minuut van 04:00 t/m 04:59, probeer eens met:

code:
1
0 4 * * * /usr/blabla....
Ok, ik heb hem ingesteld hierop. Morgenochtend zal ik eens naar het resultaat kijken.

Nou, het lijkt te werken. Precies 1 backup is vannacht gemaakt. Raar is wel dat de file volgens het filesystem om 03.26u is aangemaakt en het log om 04.32u is gewijzigd voor het laatst. Dus precies snappen doe ik het niet, maar dit lijkt me goed genoeg.

[ Voor 27% gewijzigd door MrScratch op 17-09-2007 07:22 ]

Look behind you! A three headed monkey!


  • jpm.lensen
  • Registratie: Juni 1999
  • Laatst online: 13:01

jpm.lensen

2900Wp solar @roof

MrScratch schreef op zondag 16 september 2007 @ 17:51:
De cron regel ziet er als volgt uit:

* 04 * * * /usr/local/sbin/mkstage4.sh < /etc/mkstage4.conf > /var/log/backup.log 2>&1

Volgens mij betekend dit dat hij alleen om 4 uur 's nachts moet gaan lopen.
Zoals je eerder de cron entry had, betekend het volgens mij:
dat elk uur om 4 minuten over het heel, je script gestart word. (dit verklaart mogelijk ook je 49 instances, dit zou dan ongeveer 49 uur na het installeren van je crontab geweest moeten zijn....)

De entry:
0 4 * * * bla/bla
Betekend elke dag om 4uur.

Maar het was al opgelost geloof ik!

[ Voor 5% gewijzigd door jpm.lensen op 17-09-2007 10:33 ]

Phenom 9650 @ msi k9n sli-f v2/ 4096mb ddr2 ram/ SSD/ Club 3d ATi 5770/ AOC U2879VF/MacBook Pro Retina 13 i7/ pixel 7 pro/ LG OLED55C8PLA/ pioneer dv 77 home cinema/ surface pro en laptop en book 3


  • rdfeij
  • Registratie: September 2001
  • Laatst online: 18-01 14:50
Als het een vrij grote backup is zat daar dus ook de fout, hij wilde waarschijnlijk de backup die nog gemaakt werd opnieuw gaan overschrijven... en dat lukt niet.

  • TheFirepit
  • Registratie: April 2004
  • Laatst online: 28-01 10:12

TheFirepit

Vuurbal

MrScratch schreef op zondag 16 september 2007 @ 17:51:
* 04 * * * /usr/local/sbin/mkstage4.sh < /etc/mkstage4.conf > /var/log/backup.log 2>&1
Wat er gequote staat betekend dat het script elke minuut uitgevoerd wordt vanaf 04:00 tot 04:59 uur. Dit zou betekenen dat er 60 processen worden gestart voor de backup.

@jpm.lensen: MrScratch had het over een load van 49, niet over 49 instances...
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 7) (Sunday=0 or 7)
# | | | | |
* * * * * command to be executed

[ Voor 3% gewijzigd door TheFirepit op 17-09-2007 15:26 ]

It's nice to be important, but it's more important to be nice.

Pagina: 1