• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1182
  • Last Modified:

Delay Startup Cron

We're having a problem with an Ubuntu 6.06.2 box that needs to issue a shorewall restart about 1 minute after boot.  We have the cron set to normal run on boot but this is too early as other software hasn't started yet that we have shorewall plugging into.  Need some help.
0
cybersharks1
Asked:
cybersharks1
  • 2
  • 2
  • 2
  • +3
2 Solutions
 
omarfaridCommented:
can you check in the crontab job to see if the other software has started or not?
0
 
Hugh FraserConsultantCommented:
If you're waiting for a process to start, you can check for the process name's existence using "ps".

If you're waiting for a process to reach some particular state (ie. accepting inbound connections), it's common to watch the process's log file for some status message like "Accepting connections".

What condition are you waiting for?
0
 
chingmdCommented:
If the job needs to run at boot. but not at other times, why use cron?

Why not run a use an rc.local entry.    The first command of the script can be to sleep for X amount of time.   This will allow the rest of the programs to run and settle before continuing.

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
SaranyakkaliCommented:
1. check thefile permissions
2. Check the log files (cron)
3. Timezone settings.


thanks
0
 
cybersharks1Author Commented:
It is a wireless router and it needs to wait for the DSL connection to reach a steady state to start sending traffic otherwise it doesn't know how to route the wireless traffic in/out of the Internet.  The box boots quicker than the sync does so shorewall needs to be rebooted after the fact.  I'd be happy to use rc.local but I don't really know how to make a script or use it.  I've very basic when it comes to Linux knowledge, Google hasn't been much help on this.
0
 
Hugh FraserConsultantCommented:
OK. What problem are you seeing that you're trying to resolve? Shorewall manages firewall rules, which shouldn't care of the interface is up yet. Perhaps there's an easier way to solve this.
0
 
chingmdCommented:
If he's using a DSL card, the interface may not even exist yet.  And Shorewall may be throwing errors.

Untested Code Alert!

#!/bin/sh

/path/to/sleep 60
/path/to/and/full/command/line/to/start/shorewall

###  end of code  


0
 
macker-Commented:
Basically, look to see if you have a file named /etc/rc.d/rc.local

If you do, edit it as root in vi or pico, etc. - make sure it's a Unix text editor, and you're not FTP'ing the file to edit in Notepad

Whatever command you have in crontab, you should probably remove from there, and put in the rc.local; provide it here, so it can be reviewed.

At the end of rc.local, you'd add something like what chingmd wrote, but minus the #!/bin/sh part
0
 
cybersharks1Author Commented:
After setting up the rc.local script it worked like a champ, thanks!
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 2
  • 2
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now