简体   繁体   中英

cron job not running as root user in digital ocean droplet

I created this test bash script

#! /bin/bash

echo "hello"

mkdir  "/karan/washere"

cron job i created, i want to run this cron job to run every min and want the log

#testing if cron job workes or not 
1 * * * * /user/local/bin/bash /root/test.sh  &> /root/crontest.log

I am signed in the droplet as root user

I also have given the permission for the script, using

sudo chmod u+x test.sh

I tried to log the syslog using

sudo grep CRON /var/log/syslog

but didn't show there also,

let me know if you need any more info or other context,

cron uses sh to interpret the commands, not bash . sh has less features and the &> is not valid in sh .

A better way for your line in the crontab would be:

1 * * * * /user/local/bin/bash /root/test.sh  >> /root/crontest.log 2>> /root/crontest.err

This will append to the logging instead of overwriting, and it will separate log from errors.

If you want, however, you can force cron to use bash instead of sh . Your crontab should then be:

SHELL=/bin/bash
#testing if cron job workes or not 
1 * * * * /user/local/bin/bash /root/test.sh  &> /root/crontest.log

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM