[linux] crontab script wordt twee keer gestart?

paai j.j.paijmans op gmail.com
Di Feb 4 12:10:30 CET 2020


On 04-02-2020 11:44, Paul Slootman wrote:


...



> Cron start een shell met de naam van een executable file als uit te
> voeren commando (-c).
> Die file blijkt een shell script te zijn, *dus* wordt een shell gestart
> om die uit te voeren.
>
> Volkomen logisch...


Ah... voor een bepaalde waarde van $logisch :-)

Maar ik ben nog niet uit de brand, want het script werkt niet. Het 
gebruikt xprintidle om de computer uit te schakelen na een bepaalde 
tijd, en als gewoon shellscript werkt het wel, maar als cronscript niet. 
Nochtans heb ik religieus alle commandos van het complete path voorzien...

Om e.e.a. te controleren heb ik de regel

     /usr/bin/echo $a >> /home/paai/bin/sluit_log

toegevoegd. Wanneer het script als cronjob wordt uitgevoerd, worden er 
alleen maar nulletjes naar de logfile geschreven. (De 'echo "paaihost" | 
shutdown' is nodig omdat mollyguard is ge"installeerd.)


#!/bin/bash
while a==a ; do
sleep 60
a=`/usr/bin/xprintidle`
# bereken a in seconden
a=$((a/1000))
/usr/bin/echo $a >> /home/paai/bin/sluit_log

# 900 seconden, vijftien minuten
echo $a
if [ $a -gt 300 ] ; then
   /usr/bin/date >> /home/paai/bin/sluit_log
   /usr/bin/echo "paaihost" | /usr/bin/sudo /usr/sbin/shutdown -h +1
   /usr/bin/xmessage -buttons reboot,doorgaan "$@" "reboot in 30 seconds"

   case "$?" in
      101) /usr/bin/echo "OK to shutdown"; /usr/bin/echo "paaihost" | 
/usr/bin/sudo /usr/sbin/shutdown -h -t 1 now;;
      102)  /usr/bin/sudo /usr/sbin/shutdown -c;;
   esac
fi

done

-- 
Dr. J.J. Paijmans



Meer informatie over de Linux maillijst