MAher schreef op zondag 07 april 2013 @ 11:51:
Zitten hier misschien crontab-gurus.
Ik probeer het sorteren van fotos te automatiseren (lukte al half, maar niet volautomagisch) en heb in de crontab een exiftool command gezet. Nu draait deze echter niet:
code:
1
| exiftool -r '-FileName<CreateDate' -d /volume1/photo/\%Y/\%y\%m/\%y\%m\%d_\%H\%M-\%S_\%\%f.\%\%e -P /volume1/SdCopy/ |
Ik kwam er achter dat %-tekens niet juist gelezen worden en er een /-teken voor moet om dat te corrigeren. Toch draait de taak niet. Iemand een idee?
Je kan er ook een script van maken en dat script aanroepen in je cronjob
Dit is even een voorbeeld wat ik gebruik maar dan weet je even wat de bedoeling is.
Je maakt een cronjob met een regel (tussen 0 3 * * * root sh, dat zijn TABS anders werkt de job niet.)
code:
1
| 0 3 * * * root sh /volume1/homes/scripts/foto.sh >>/volume1/homes/scripts/foto.log 2>&1 |
Het deel >> en verder maakt een log file aan zodat je altijd kunt controleren als er iets niet goed gaat.
je maakt dan een script met de naam foto.sh
Daarin stop je alles wat je wilt uitvoeren.
Begin het script met
code:
1
2
| #!/bin/bash
hier jou opdrachten |
om te testen kun je het script ook aanroepen in putty om te testen.
code:
1
| sh /volume1/homes/scripts/foto.sh |
Voordeel vindt ik dat je cronjob overzichtelijk blijft en zo is het ook beter te beheren.
Mogelijk dat het via deze weg beter gaat werken omdat je verder je cronjob niet steeds hoeft aan te passen , te herstarten etc.
Wil je het toch op de andere manier maak het dan eerst via een script zodat je handig steeds kunt testen.
Daarna kun je regels overnemen in je cronjob.
Je weet dan zeker dat het goed werkt. Nu weet je niet of het in de uitvoer zit of in de cronjob.