Ubuntu sudo crontab

Ive written a simple script which tests if the squid3 is running and if it isnt running start the service (so the file it recreated).

So I've written the script as:-
!/bin/bash
echo "Running test on Squid file"

if [ ! -f /var/log/squid3/access.log ]; then
        echo "     No Log file found"
        sendemail -t tcross@mydomain.co.uk -m "Missing Squid Log" -f "squid@missingdomain.co.uk"
        service squid3 restart
fi

Open in new window


And saved it to '/home/tcross/testLog.script', and then to run it Ive added it to crontab, so:-
sudo crontab -e
* * * * * /home/tcross/testLog.script

Open in new window


The script works great for sending me the email, but doesnt restart the service, however if I manually run the script, the service is restarted fine by using:-
sudo /home/tcross/testLog.script

I was advised to try and grep to see what the issue is:-
ps -ef | grep testLog.script
Which gives:-
tcross   31726 31523  0 14:38 pts/0    00:00:00 grep --color=auto testLog.scrip
Which apparently tells me that its running under tcross (me).

Any ideas how I can run the crontab as sudo?

Thank you in advance
tonelm54Asked:
Who is Participating?
 
ThomasMcA2Connect With a Mentor Commented:
Did you try adding sudo to your service command within your script?
sudo service squid3 restart

Open in new window

0
 
tonelm54Author Commented:
ThomasMcA2: Wont that request a password?
0
 
tonelm54Author Commented:
ThomasMcA2: No it doesnt (thought Id just try it)

Thank you :-)
0
All Courses

From novice to tech pro — start learning today.