labyrint Geplaatst: 23 juli 2010 Geplaatst: 23 juli 2010 Hallo, Ik heb een scriptje gemaakt om mijn hostnaam te updaten. Het probleem is dat hij niet uitgevoerd wordt door de cronjob. Als ik hem handmatig start met ./dnsupdate.sh werkt het vlekkeloos. Als ik hem invoer in crontab -e werkt het niet. Ik heb geen type-fout in de regel of in de benaming ( tig X gecontroleerd ) Mijn vraag is eigenlijk; kan er een reden zijn waarom het script niet automatisch aangesproken wordt door een verkeerde opmaak van bijvoorbeeld de tekst editor. Ik gebruik meerdere scriptjes maar alleen deze wil niet lukken op automatisch uitvoeren. Iemand een idee Labyrint.
Big fellow Geplaatst: 23 juli 2010 Geplaatst: 23 juli 2010 Heb je op de eerste regel staan: #!/bin/bash Staat je volledige pad naar het script in de cron entry? Verwijs je naar de binaries op de juiste manier? (Je pad bestaat niet of is anders tijdens het uitvoeren van een cronjob. Dus het kan heel goed wezen dat hij de binaries niet kan vinden...) Wat staat er in je logfile? “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill
labyrint Geplaatst: 24 juli 2010 Auteur Geplaatst: 24 juli 2010 Ik heb inderdaad #!/bin/bash op de eerste regel staan. Ik heb zelfs al eens een ander werkend scriptje aangepast. Ik kan in de log files niet echt iets vinden wat mij verteld over het uitvoeren van de cronjob. Ik vindt het raar dat het script wel wordt gestart door ./ Je zou dan denken aan een typfout ergens in de crontab.
Lamko Geplaatst: 24 juli 2010 Geplaatst: 24 juli 2010 achter de cron regel "> /var/log/output.txt" zetten Mythbuntu 12.04 Celeron 220 op Mini-ITX D201GLY2, 1 GB Ram,2x1,5 TB HDD, Digitenne op TerraTec Cinergy, CCcam
Puch Geplaatst: 26 juli 2010 Geplaatst: 26 juli 2010 Ik vermoed dat de rechten van het bestand juist staan vermits je het script handmatig kan uitvoeren. chmod +x bestand.sh iMac 27" macOS SierraiPhone 5s iOS 10
Tech Geplaatst: 26 juli 2010 Geplaatst: 26 juli 2010 Dan zou het handmatig starten al een probleem moeten opleveren en dat werkt wel. Ik zou inderdaad even voor de log optie kiezen dus > /var/log/dyndns.log achter de cron opdrachtregel zetten. Wat zie je eigenlijk in de /var/log/syslog staan? Daar zou je ook iets terug moeten kunnen vinden........ Pli Core Member
NINjak Geplaatst: 26 juli 2010 Geplaatst: 26 juli 2010 Hoe ziet de regel eruit die in de crontab staat! Denk dat we eerst daarmee moeten beginnen. Ik had pas ook zoiets dat een script in de crontab niet wilde werken en met de hand wel... kan er nu ff niet op komen waardoor het nou ook al weer kwam.
Gast Erik-Jan Geplaatst: 27 juli 2010 Geplaatst: 27 juli 2010 Een voorbeeld van de crontab bij mij staat onderaan (run't de bestanden in de genoemde directory elke 5 minuten)... Let vooral op: - Staan de exec rechten van het bestand goed? - Wie is de eigenaar van het bestand? - Begin het script met de shell (#!/bin/sh) Inclusie het path? Erik-Jan ------------------------------ SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=iemand HOME=/ # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR #sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed # run-parts 0,5,10,15,20,25,30,35,40,45,50,55 * * * * root run-parts /etc/cron.5min
Big fellow Geplaatst: 27 juli 2010 Geplaatst: 27 juli 2010 Origineel bericht van: Erik-Jan # run-parts 0,5,10,15,20,25,30,35,40,45,50,55 * * * * root run-parts /etc/cron.5min Kan eenvoudiger: */5 * * * * root run-parts /etc/cron.5min werkt ook . “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill
labyrint Geplaatst: 28 juli 2010 Auteur Geplaatst: 28 juli 2010 In /var/log/syslog vind ik niets terug wat met dns zou kunnen rijmen. Als ik in de cronjob de regel /var/log/dyndsn.log zet vind ik ook niets terug. Ook als ik met de hand het commando heb uitgevoerd komt er niets in een log bestand. Onderstaand is mij niet echt duidelijk. De tijd en sterren wel maar wat er op volgt niet. */5 * * * * root run-parts /etc/cron.5min
labyrint Geplaatst: 28 juli 2010 Auteur Geplaatst: 28 juli 2010 Met het handmatig uitvoeren van het script komt er inderdaad een logfile, deze is leeg.
Big fellow Geplaatst: 28 juli 2010 Geplaatst: 28 juli 2010 Laat eens je crontab entry zien. En het zou handig wezen als je ook je script plaatst... “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill
Gast Erik-Jan Geplaatst: 28 juli 2010 Geplaatst: 28 juli 2010 Origineel bericht van: labyrint Onderstaand is mij niet echt duidelijk. De tijd en sterren wel maar wat er op volgt niet. */5 * * * * root run-parts /etc/cron.5min Ok, de tijd en sterren zijn duidelijk, Hierna staat het 'commando' wat aangeeft dat hij als gebruiker 'root' de onderdelen in de directory '/etc/cron.5min' moet uitvoeren Je kan ook meteen een commando geven: 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 Ook kan het trouwens nog zijn dat SELinux nog het een en ander tegen houd (Doen dan ff een 'man 5 cron') Erik-Jan
labyrint Geplaatst: 3 augustus 2010 Auteur Geplaatst: 3 augustus 2010 Nou het gaat nog steeds niet lukken. Het zal wel een lullig iets zijn. Zo heb ik het gedaan. Ik draai met Ubuntu 10.x de server versie. Ik heb via apt-get ipcheck opgehaald. Vervolgens het volgende scriptje gebruikt. Het script staat in /var/script #!/bin/bash # USERNAME= mijn gebruikers naam PASSWORD= mijn wachtwoord HOSTNAME= mijn dns naam cd /var/script/dyndns if [ -f /var/script/dyndns/ipcheck.dat ]; then ipcheck -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME else ipcheck --makedat -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME fi Als ik het script handmatig start update hij gewoon mijn hostnaam. Ik krijg in het mapje /var/script/dyndns/ drie files, ipcheck.dat, ipcheck.html en webip.out. Als ik dit script door een cronjob wil laten uitvoeren lukt het niet. Ook niet als ik de map dyndns eerst leeg gooi. Even voor diegene die er mee willen testen. Het script update niet het ip adres maar update jou account bij dyndns. Ik dacht dat jij binnen 35 dagen jou account een keer moet updaten.
Big fellow Geplaatst: 3 augustus 2010 Geplaatst: 3 augustus 2010 Hoe ziet je crontab entry eruit? Wat zijn de rechten op /var/script en op /var/script/dyndns ? Waar staat "ipcheck" ? (Het script/programma wat je aanroept.) Zet eens het volledige pad voor "ipcheck". (Zoals ik eerder heb aangegeven...) “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen