Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Geen crontab output.  (gelezen 217 keer)

Geen crontab output.
« Gepost op: 2025/10/08, 15:09:15 »
Als test heb ik dit in crontab staan:
* * * * * echo "Cron werkt!" >> /tmp/cron_test.log

cat /tmp/cron_test.log geeft:  "Cron werkt!"     
:)
===============================================

Wat echter niet werkt (geen output):

/home/henkoegema/Scripts/backup.sh  (uitvoerbaar ! )
#!/bin/bash

# Backupscript
DEST="f60c8b10-52e2-4b78-9595-6e42bf2ef545/HP-470-G7/test/"
rsync -avz -e ssh --log-file=/home/henkoegema/Logs/rsyncDoc.$(date +%H-%M).log  /home/henkoegema/test/ pi@192.168.2.111:/media/pi/$DEST

# Crontab:
* * * * * /home/henkoegema/Scripts/backup.sh

Via de terminal werkt het wel (??)
henkoegema@HP-470-G7:~/Scipts$ ./backup.sh
sending incremental file list
./
test1.txt
test2.txt
test3.txt
test4.txt
test5.txt

sent 456 bytes  received 114 bytes  380,00 bytes/sec
total size is 77  speedup is 0,14
henkoegema@HP-470-G7:~/Scipts$

Dus:  Waarom zie ik geen output via crontab?

(OS: Linux Mint 22.2)

𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Offline peer

  • Lid
Re: Geen crontab output.
« Reactie #1 Gepost op: 2025/10/08, 15:32:47 »
de vijf sterretjes zouden weleens het probleem kunnen zijn. Deze staan voor minute, hour, day of month, month, day of week. Jij hebt hier geen waarden ingevuld dus, denk ik, dat cron niet weet wanneer het commando gestart moet worden.

Ik zou het eens proberen met het eerste sterretje te vervangen door 5. Dan zou het commando elke vijf minuten uitgevoerd moeten worden. Wellicht werkt het dan.

Re: Geen crontab output.
« Reactie #2 Gepost op: 2025/10/08, 15:45:28 »
de vijf sterretjes zouden weleens het probleem kunnen zijn. Deze staan voor minute, hour, day of month, month, day of week. Jij hebt hier geen waarden ingevuld dus, denk ik, dat cron niet weet wanneer het commando gestart moet worden.

Ik zou het eens proberen met het eerste sterretje te vervangen door 5. Dan zou het commando elke vijf minuten uitgevoerd moeten worden. Wellicht werkt het dan.

Dank voor je antwoord.
Een sterretje op de eerste plaats betekent : iedere minuut. Mijn test crontab werkt wel.

Maar of de duvel er mee speelt, zoals zo vaak: Net na het plaatsen van mijn vraag vind ik (toevallig) de oplossing; na 2 dagen puzzelen.
Op de pc heet de map waar backup.sh staat: Scipts i.p.v. Scripts    :-[
Had de letter r niet gezien.   :rolleyes:

𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Offline peer

  • Lid
Re: Geen crontab output.
« Reactie #3 Gepost op: 2025/10/12, 10:16:21 »
Deze reactie is wat later omdat het forum voor mij een paar dagen onbereikbaar was.

ik had het niet helemaal goed in mijn antwoord. Bedankt voor de correctie
Cron wordt standaard elke minuut uitgevoerd.
De commandoregel bestaat uit vijf sterretjes (minuut, uur, maandag, maand, weekdag). Dit zijn de voorwaarden waaronder het commando wordt uitgevoerd.
voorbeelden:
* * * * * <commando>       Het commando wordt elke minuut uitgevoerd.
5 * * * * <commando>      Het commando wordt 5minuten na het hele uur uitgevoerd (bv. 11.05 of 22.05).
*/5 * * * * <commando>  Het commando wordt elke 5 minuten uitgevoerd.
Hiernaast bestaat ook voorwaarden als @reboot en @daily

Ik zie dat je in het script het commando rsync gebruikt. Het is handiger om in het script altijd het commando met volledige pad te gebruiken dus /usr/bin/rsync.  Dit om het script onafhankelijk te maken van de environment. De environment van cron bv. is veel beperkter dan van de user. Dit kan als gevolg hebben dat een script bij uittesten goed werkt maar in cron niet. Dit staat heel goed uitgelegd op de volgende pagina: https://www.baeldung.com/linux/crontab-fix-failing-script

Een tijdje terug heb ik het probleem gehad dat mijn disk op onverklaarbare manier helemaal vol was gelopen. Na zoeken bleek dat mijn backupscript gedraaid had terwijl de destination disk niet in de directory  gemount was. Gevolg was dat de directory volgeschreven werden en nadat de disk wel gemount was de drectory niet meer zichtbaar omdat dit een link was geworden. Ik heb daarop in mijn backupscript een mountcheck ingebouwd..

Re: Geen crontab output.
« Reactie #4 Gepost op: 2025/10/12, 11:06:42 »
Dank voor de pagina: https://www.baeldung.com/linux/crontab-fix-failing-script     :)

Hoe ziet die mountcheck eruit?
« Laatst bewerkt op: 2025/10/12, 11:09:38 door henkoegema »
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Offline peer

  • Lid
Re: Geen crontab output.
« Reactie #5 Gepost op: 2025/10/12, 14:54:45 »
in mijn backupscript hieronder zie je hoe ik de mountcheck doe.
#!/bin/bash

# stel pad, logfile, includeFile sourceDir and targetDir in
pad="/home/peer/Scripts/backup/"

logFile="$pad""backupHome.log"
includeFile="$pad""includeHome.txt"

sourceDir="/home/peer/"
targetDir="/mnt/backup/peer/"

#wachttijd is 10 seconden
wait=10

temp=$(mount)
mounted=false
if [[ $temp == *"/mnt/backup"* ]]
then
    mounted=true
fi
echo $mounted

if [ $mounted = true ]
then

  touch $logFile
  echo "BackupHome logFile" > $logFile
  echo "$(date)" >> $logFile
  echo "" >> $logFile

  if  [ -x /usr/bin/rsync ]; then

    /home/peer/Scripts/backup/systrayIcon.py &  #show icon in system Tray
    pidofSystrayIcon="$!"

    /usr/bin/rsync -ravL --delete --ignore-errors --files-from=$includeFile $sourceDir $targetDir >> $logFile


    echo "$(date +"%d-%m-%Y")" >> $logFile

    kill $pidofSystrayIcon #icon in system tray uitzetten

    /usr/bin/notify-send -a "Backup" "Backup HOME" "Backup Home is Finished." # melding backup klaar

  else
    /usr/bin/notify-send -a "Backup" "Backup HOME" "ERROR: rsync not found."
  fi

else
/usr/bin/notify-send -a "Backup" "Backup HOME" "ERROR: Backup Disk is not mounted."

fi

Re: Geen crontab output.
« Reactie #6 Gepost op: 2025/10/12, 19:09:57 »
in mijn backupscript hieronder zie je hoe ik de mountcheck doe.
#!/bin/bash

# stel pad, logfile, includeFile sourceDir and targetDir in
pad="/home/peer/Scripts/backup/"

logFile="$pad""backupHome.log"
includeFile="$pad""includeHome.txt"

sourceDir="/home/peer/"
targetDir="/mnt/backup/peer/"

#wachttijd is 10 seconden
wait=10

temp=$(mount)
mounted=false
if [[ $temp == *"/mnt/backup"* ]]
then
    mounted=true
fi
echo $mounted

if [ $mounted = true ]
then

  touch $logFile
  echo "BackupHome logFile" > $logFile
  echo "$(date)" >> $logFile
  echo "" >> $logFile

  if  [ -x /usr/bin/rsync ]; then

    /home/peer/Scripts/backup/systrayIcon.py &  #show icon in system Tray
    pidofSystrayIcon="$!"

    /usr/bin/rsync -ravL --delete --ignore-errors --files-from=$includeFile $sourceDir $targetDir >> $logFile


    echo "$(date +"%d-%m-%Y")" >> $logFile

    kill $pidofSystrayIcon #icon in system tray uitzetten

    /usr/bin/notify-send -a "Backup" "Backup HOME" "Backup Home is Finished." # melding backup klaar

  else
    /usr/bin/notify-send -a "Backup" "Backup HOME" "ERROR: rsync not found."
  fi

else
/usr/bin/notify-send -a "Backup" "Backup HOME" "ERROR: Backup Disk is not mounted."

fi

Dit ga ik ook doen in mijn backupschript.   :)
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)