Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Cron shell script not executing diskutil command Post 302766823 by illuminate on Tuesday 5th of February 2013 01:09:41 PM
Old 02-05-2013
Code Cron shell script not executing diskutil command

I'm trying to learn how to use cron for repetative tasks. I have an external disk that needs to be unmounted and remounted every hour due to some problems that a backup utility (specifically, TimeMachine) is having repeatedly accessing the device. I've created a shell script that will find the mount point of the drive, unmount it, and then remount it. Here's the code:
Code:
#!/bin/sh

# Finds the device node of the drive 'Rebel Base', and saves it to variable i
export i=`diskutil info 'Rebel Base' | grep 'Device Node' | cut -d : -f 2 | sed 's/^ *//g' | sed 's/ *$//g';`
# unmounts device found at variable i
hdiutil unmount -force $i
sleep 1
# remounts device found at variable i
hdiutil mountvol $i

When I run this as a shell script, it works just fine. However, cron returns the following error:

line 4: diskutil: command not found
hdiutil: unmount: no file specified
Usage: hdiutil unmount [options] <mountpoint>
hdiutil unmount -help
hdiutil: mountvol: no device specified
Usage: hdiutil mountvol [options] <devname>
hdiutil mountvol -help

My cron looks like this:

Code:
* 9-16 * * 1-5 sh /Users/danielmarcus/Dropbox/programming/relaunchRebel.sh

What am I doing wrong here? Any and all help is very much appreciated.
 

10 More Discussions You Might Find Interesting

1. HP-UX

executing shell script from the cron

This isn't the usual problem that a shell script runs from the command line and not the cron. It's a little different. Among other things, the shell scrip executes my .profile to set a bunch of variables. It then does an env to ensure that it ran OK. There are echos in the shell script and... (2 Replies)
Discussion started by: abNORMal
2 Replies

2. Shell Programming and Scripting

Error executing shell command from a perl script

Hi Gurus, I've a find command that gets the list of files from a source directory where the extension is not html, xml, jsp, shtml or htaccess. The below find command runs fine from the command prompt or in a shell script. I need to eventually run it in a PERL script and am getting the... (5 Replies)
Discussion started by: voorkey
5 Replies

3. UNIX for Dummies Questions & Answers

Problem with executing command inside a cron job

Hi All, I have scheduled a script in cron which writes output to the below file. ....>> /data/Target/wrapper_invoke_ds_job_`date '+%Y%m%d'`.ksh_out 2>&1 But the date command is not getting resolved in the format specified. It just resolves to the following. wrapper_invoke_MQ_ds_job_Tue... (3 Replies)
Discussion started by: pkm_oec
3 Replies

4. Shell Programming and Scripting

Problem Executing Firmware Command using Shell Script

Guys, I have a script that should change one of the configuration Parameter in a http accelerator, this config change which will halt http traffic into device. So I have designed a script which should do these changes. But after executing this script, found that one of the input variable is not... (8 Replies)
Discussion started by: raghunsi
8 Replies

5. Shell Programming and Scripting

Problem with executing a shell script through the cron

Hi, I have a shell script as below: ORACLE_HOME=/usr/local/opt/oracle/product/dev export ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin:/usr/bin export PATH OUTFILE=/export/home/`basename $0`.out export OUTFILE export IDEN df -k . | tail -1 | read a b c d e f echo $a >> $OUTFILE echo $b... (4 Replies)
Discussion started by: Abhinav Pandey
4 Replies

6. Shell Programming and Scripting

executing command in a remote machine through ssh - shell script

Hi All, i have two machines like x and y . my requirement is i should connect to machine Y from x through ssh connection . and do some operation such as copy and move and delete files in Y machine . i tried with this code but it is doing in machine x only . and i need to exit from Y when... (1 Reply)
Discussion started by: rateeshkumar
1 Replies

7. UNIX for Dummies Questions & Answers

Executing a tar command with the --exclude option in a Debian shell script.

Hi All, I am trying to execute the following tar command with two --exclude options to suppress extract of the two directories specified. Do I need to single quote the directory paths ?? Many thanks for your help. The relevant code excerpt from the script is: cd /var/www/${SITE} ... (7 Replies)
Discussion started by: daveu7
7 Replies

8. Shell Programming and Scripting

Script not executing using cron

Hi, I created a script which connects to database and update a table. This script is running fine when i run it manually but when i am trying to execute it scheduling in crontab.script is executing but Data is not getting updated. below is my script sqlplus test/##### >> test_feed.log <<!... (6 Replies)
Discussion started by: sv0081493
6 Replies

9. Shell Programming and Scripting

Executing 'exit' command from shell script

Hi, I am writing shell script to automate few use cases for CLI interface. We have CLI interface which has bunch of commands. I am trying to execute one of the commands 'exit' as part of automation to exit from CLI object (not from shell script) in my shell script. My intension is to execute... (4 Replies)
Discussion started by: Mahesh Desai
4 Replies

10. UNIX for Beginners Questions & Answers

Troubles running DB2 command in shell script via cron

Hi there, Now I'm facing error regarding running shell script via cron. The shell script which is required to get value from database. Below is the main part of shell script. #/bin/bash #connect to database(1) db2 connect to $database user xxxx using yyyy #set values from... (3 Replies)
Discussion started by: Rohan Kishibe
3 Replies
CRON(8) 						    BSD System Manager's Manual 						   CRON(8)

NAME
cron -- daemon to execute scheduled commands (Vixie Cron) SYNOPSIS
cron [-j jitter] [-J rootjitter] [-m mailto] [-s] [-o] [-x debugflag[,...]] DESCRIPTION
The cron utility should be started from /etc/rc or /etc/rc.local. It will return immediately, so you do not need to start it with '&'. The cron utility searches /var/cron/tabs for crontab files which are named after accounts in /etc/passwd; crontabs found are loaded into mem- ory. The cron utility also searches for /etc/crontab which is in a different format (see crontab(5)). The cron utility then wakes up every minute, examining all stored crontabs, checking each command to see if it should be run in the current minute. Before running a command from a per-account crontab file, cron checks the status of the account with pam(3) and skips the command if the account is unavailable, e.g., locked out or expired. Commands from /etc/crontab bypass this check. When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment variable in the crontab, if such exists). Additionally, cron checks each minute to see if its spool directory's modification time (or the modification time on /etc/crontab) has changed, and if it has, cron will then examine the modification time on all crontabs and reload those which have changed. Thus cron need not be restarted whenever a crontab file is modified. Note that the crontab(1) command updates the modification time of the spool directory whenever it changes a crontab. Available options: -j jitter Enable time jitter. Prior to executing commands, cron will sleep a random number of seconds in the range from 0 to jitter. This will not affect superuser jobs (see -J). A value for jitter must be between 0 and 60 inclusive. Default is 0, which effectively disables time jitter. This option can help to smooth down system load spikes during moments when a lot of jobs are likely to start at once, e.g., at the beginning of the first minute of each hour. -J rootjitter Enable time jitter for superuser jobs. The same as -j except that it will affect jobs run by the superuser only. -m mailto Overrides the default recipient for cron mail. Each crontab(5) without MAILTO explicitly set will send mail to the mailto mailbox. Sending mail will be disabled by default if mailto set to a null string, usually specified in a shell as '' or "". -s Enable special handling of situations when the GMT offset of the local timezone changes, such as the switches between the standard time and daylight saving time. The jobs run during the GMT offset changes time as intuitively expected. If a job falls into a time interval that disappears (for example, during the switch from standard time) to daylight saving time or is duplicated (for example, during the reverse switch), then it is handled in one of two ways: The first case is for the jobs that run every at hour of a time interval overlapping with the disappearing or duplicated interval. In other words, if the job had run within one hour before the GMT offset change (and cron was not restarted nor the crontab(5) changed after that) or would run after the change at the next hour. They work as always, skip the skipped time or run in the added time as usual. The second case is for the jobs that run less frequently. They are executed exactly once, they are not skipped nor executed twice (unless cron is restarted or the user's crontab(5) is changed during such a time interval). If an interval disappears due to the GMT offset change, such jobs are executed at the same absolute point of time as they would be in the old time zone. For example, if exactly one hour disappears, this point would be during the next hour at the first minute that is specified for them in crontab(5). -o Disable the special handling of situations when the GMT offset of the local timezone changes, to be compatible with the old (default) behavior. If both options -o and -s are specified, the option specified last wins. -x debugflag[,...] Enable writing of debugging information to standard output. One or more of the following comma separated debugflag identifiers must be specified: bit currently not used ext make the other debug flags more verbose load be verbose when loading crontab files misc be verbose about miscellaneous one-off events pars be verbose about parsing individual crontab lines proc be verbose about the state of the process, including all of its offspring sch be verbose when iterating through the scheduling algorithms test trace through the execution, but do not perform any actions FILES
/etc/crontab System crontab file /etc/pam.d/cron pam.conf(5) configuration file for cron /var/cron/tabs Directory for personal crontab files SEE ALSO
crontab(1), pam(3), crontab(5), pam.conf(5) AUTHORS
Paul Vixie <paul@vix.com> BSD
June 29, 2008 BSD
All times are GMT -4. The time now is 09:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy