Sponsored Content
Top Forums Shell Programming and Scripting Expect script cronjob running but dying prematurely Post 302564897 by CluelessPerson on Saturday 15th of October 2011 09:14:15 AM
Old 10-15-2011
Expect script cronjob running but dying prematurely

I have an Ubuntu machine that I'd like to update automatically. I've written an expect script to run the aptitude package manager and update my packages. Essentially it does:
Code:
aptitude update && aptitude upgrade

while answering "yes" at the appropriate time.

It works quite nicely when run directly from the command line. However, when the cronjob I set up runs it (as root), it dies very quickly. In an attempt to figure out what's going wrong, I 'tee'd' the output into a log. In the "aptitude update" stage, it only updates maybe 1/6 of the total sources before inexplicably terminating. It never reaches the "upgrade" stage.

Does anyone have any idea what I might be doing wrong or have any way I might be able to diagnose why the script is quitting early?

Here's the script:
Code:
#!/usr/bin/expect -f

set timeout 180
spawn aptitude update

expect {
   eof
}

set timeout 3600
spawn aptitude safe-upgrade

expect {
    "Y/n" { send "y\r"; expect { eof } } \
    eof
}

And here's my crontab line:
Code:
        *       */12    *       *       *       /home/jimmy/script/patch.sh | tee /home/jimmy/script/patch.log

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Variables are not getting exported while running the script in cronjob

Hi All Some how, variables are not getting exported while running the script in cronjob. Variable value is coming blank. But the variables are geting the value when the same script I am running manually. Any idea why? When running the script in cron-job ==================================... (7 Replies)
Discussion started by: csaha
7 Replies

2. Shell Programming and Scripting

Shell script not running thru Cronjob

Hi I have a shell script, it run ok if executed from the path it is located at but doesnot run when the same is tried through cron-job. can someone help me please. regards gaurav shrinivas Email address removed (8 Replies)
Discussion started by: gauravshrinivas
8 Replies

3. Shell Programming and Scripting

expect + cronjob + SFTP

Hi all, i got a really strange problem i wrote a script, when i run this script manually everything works fine but when i make a cronjob for it, with the same user, the EXPECT script will not work. Only the first line will be executed this is the SHell bash script #!/bin/sh; php -q... (2 Replies)
Discussion started by: digitac
2 Replies

4. Shell Programming and Scripting

Running script that sends an html formatted email fails when its run as cronjob

Hi Im very new at working with unix and this problem I simply can not understand. I know there are a lot of threads about problems with shell scripts behaving differently when run from a terminal and from a cronjob. I have tried everything(almost) but I still havent cracked this problem. Im... (15 Replies)
Discussion started by: Nightowl
15 Replies

5. Shell Programming and Scripting

Problems in running a Perl script via cronjob

I have a very basic perl script that attempts to find if a process is running. If the process is not running then the script is supposed to start the process. If I execute the script from command line it works fine as expected. However if the script is executed via cronjob, the script cannot find... (1 Reply)
Discussion started by: ypant
1 Replies

6. UNIX for Dummies Questions & Answers

Cronjob for running a php script intermittently?

Hey all Found this forum googling for solutions. Great community this! Im looking for help trying to run a php script every 20 minutes. The script basically has to loop continuously forever but inexplicably hangs every 30 minutes or so. I have not been able to debug the script and find... (2 Replies)
Discussion started by: aras
2 Replies

7. Shell Programming and Scripting

A running Script giving error while scheduled in cronjob

Hi, I have script which is properly running but when i schedule it in cron it throws an error like : Your "cron" job on retrprdapp1 /usr/bin/sh /retr/cron/ftp.sh 2>&1 produced the following output: /retr/cron/ftp.sh: syntax error at line 17: `(' unexpected line17 is # Get list of... (10 Replies)
Discussion started by: rajagasti
10 Replies

8. UNIX for Dummies Questions & Answers

how to cancel a cronjob if the cronjob still running

hi everyone I'm newbie in this forum hope I can get some help here :) I have a command in crontab that executed every 1 minute sometime this command need more than 1 minute to finish the problem is, the crontab execute this command although it's not finish processing yet and causing the system... (7 Replies)
Discussion started by: 2j4h
7 Replies

9. UNIX for Dummies Questions & Answers

Script not running through Cronjob

Hi, I have a .ksh script which updates the database. The script is running fine manually but it is not running through cron.All the file permissions are fine. The script contents are as below: #!/usr/bin/ksh ddate=`date +%Y%m%d` echo $ddate nohup sqlplus crm/crm @db_state_sync.sql >>... (3 Replies)
Discussion started by: shivangi
3 Replies

10. Shell Programming and Scripting

expect telnet script execute by cronjob

hi, please help, keep getting this bolded error and look it up and people say its your environment variable though i tried to set it manually in expect..it run fine if i run it manually but once i run it by cronjob it error below..i tried to comment out ip/login info with *.. logfile:: START... (0 Replies)
Discussion started by: cssanangeles
0 Replies
DAPTUP(8)						      System Manager's Manual							 DAPTUP(8)

NAME
daptup - wrapper script on 'apt-get update' SYNOPSIS
daptup [ --pre | --post | --last ] [ -h | --help ] [ --nocolor ] OPTIONS
--pre Do only 'pre' stage: collect info that will be used as 'old'. Usually need to be specified only in apt hooks. --post If appropriate option is enabled in config file, do only 'post' stage: collect 'new' info and output changes. Otherwise do nothing. Usually need to be specified only in apt hooks. --last Output changes only. This option is supposed to be specified when you want to see changes made in the last update. Note that list of outdated packages, if daptup is configured to output it, will be rebuilt. -h --help prints the help --nocolor Disables color output, useful for scripts or when output is not terminal. Now works only with --last option, however, you can dis- able color globally in configuration file. daptup is a script that runs "apt-get update" inside and outputs list of packages recently entered to repo, list of packages which got new updates, list of changes in 'watched' packages and, optionally, list of outdated packages. Starting with 0.8.0 version, daptup uses apt hooks and you don't need to explicitly call it if you use 'apt-get update'. TROUBLESHOOTING
If daptup was interrupted while building the lists, the cached lists can stay in inconsistent state, which is inappropriate if you want to use --last option before the new update. There is nothing to do if interrupt was occured at the moment when old lists were building (besides running the new update). However, if interrupt was occured when the new lists were building, you can easily redo this stage by calling 'daptup --post'. FILES
/etc/daptup.conf self-documented configuration file /var/spool/daptup/outdated cached file with info about outdated packages SEE ALSO
apt-get(8), aptitude(8), apt-show-versions(1p) AUTHOR
daptup was written by Eugene V. Lyubimkin. This manual page was written by Eugene V. Lyubimkin <jackyf.devel@gmail.com>, for the Debian project (but may be used by others). Oct 15, 2008 DAPTUP(8)
All times are GMT -4. The time now is 02:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy