PDA

Bekijk Volledige Versie : Crontab entry wil maar niet werken?



SmilieBG
22/11/07, 17:08
Hola mensen,

Ik heb het volgende in me crontab zitten:

30 1 * * * echo "\$ backup `date +'%d%m%Y'`" | ftp backup.somesite.com

Echter, deze wordt nooit gestart?!

Als ik het met de hand doe - werkt prima. Maar dus niet vanuit crontab.

Er zitten ook andere commando's in de crontab welke wel werken, dus crontab service op zich zelf werkt dus ook prima...

Iemand enige idee?

Ik krijg trouwens geen foutmelding, helemaal niks :(

Mvg,
Aleks

Tommi
22/11/07, 18:22
even die regel in een bestand zetten, en dan crontab *bestandsnaam* en daarna even service crond restart oid's.
Zo werkte het bij mij iig:)

bvankuik
22/11/07, 21:48
Stuur die echo eens naar een bestandje in tmp, werkt dat wel? Dus bijv:

30 1 * * * echo "\$ backup `date +'%d%m%Y'`" > /tmp/detest.txt

Ook vraag ik me af hoe je inlogt op die backup machine. Waarschijnlijk door username en password te definen in ~/.netrc maar is die wel te bereiken vanuit je crontab?

t.bloo
22/11/07, 22:44
1 lege regel na de laatste opdracht zetten, anders wordt die nooit uitgevoerd (it's a feature, not a bug)

SmilieBG
23/11/07, 00:18
Er wordt niks gelogd helaas.
@bvankuik - ja, inlog gegevens staan in de root home (oftewel root). root mag het lezen en als het met de hand (als root ingelogd) werkt - dan zou het crontab ook moeten kunnen uitvoeren?

@t.bloo - lege regel toegevoegd :) Ben nu aan het testen - zal je binnen paar min later weten. Ik wist niet over dat feature :) Wel voor .netrc, maar... :)

Nee, helaas crontab wil nog steeds die regel niet willen mee nemen :(
Ik zat net in crontab log te kijken - alle andere regels worden gewoon netjes uitgevoerd.

Snap het niet meer echt :(

hm, gevonden in log:

Nov 20 01:30:01 beta crond[13559]: (root) CMD (echo "\$ backup `date +')

Blijkbaar wordt het script verminkt ergens door crontab. Mijn shell scripting is helaas onvoldoende om wat zinnigs hierover te kunnen zeggen :(

t.bloo
23/11/07, 00:30
laat de ' eens weg, dus

30 1 * * * echo "\$ backup `date +%d%m%Y`" | ftp backup.somesite.com

hmm, er is meer nodig. Waarom stop je het niet in een los script ergens, dan kun je makkelijk de date eerst netjes in een variabele zetten enzo.

SmilieBG
23/11/07, 00:31
nope, enige wat ik nu in de log zie is:

Nov 23 00:32:01 beta crond[17957]: (root) RELOAD (cron/root)

@t.bloo = date is nog niet eens zo zeer het probleem als het inloggen op FTP server wel is :( Nogmaals, mijn shell skills zijn niet zo goed. Ik zal morgen op zoek naar voorbeelden gaan op Google :)

t.bloo
23/11/07, 00:46
Het is de % binnen de backtick operator... doe eens

30 1 * * * echo "\$ backup `date +\%d\%m\%Y`" | ftp backup.somesite.com

pentabase
23/11/07, 09:53
Wat mijn ervaringen met crontab altijd zijn is dat ik alle commando's in een script zet en dat script dan aanroep via crontab. dan houd je je crontab netjes schoon. tenzij je alleen maar hele kleine scripts maakt.

SmilieBG
23/11/07, 19:12
@t.bloo = het werkt!! Top, dank je wel!

@pentabase - ben met je eens, maar nogmaals - ik heb geprobeerd al FTP vanuit shell te starten, maar wilde niet lukken. Toen kwam ik tegen .netrc en dat werkte prima. Nu dat crontab ook opgelost is heb ik eindelijk een werkende backup script :)

Mvg,
Aleks