The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com




Thread: Shell Question
View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #3 (permalink)  
Old 06-30-2009
dswz dswz is offline
Registered User
  
 

Join Date: Jun 2009
Posts: 2
Thanks, reborg, for you quick reply,

I think I wasn't clear enough.

This is the code I wrote:


Code:
#!/bin/sh
HOME=/home/mvo
PATH=/home/mvo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

echo -------------------------------------------- >> /home/mvo/backuplog
echo Backup Started `date` >> /home/mvo/backuplog
cd /

if [ -d /home/backups/`date +%w`/ ] ; then
   rm /home/backups/`date +%w`/backup.tar.gz
   echo Overwriting Day `date +%w` starting now.. >> /home/mvo/backuplog
else
   mkdir /home/backups/`date +%w`/
fi

mkdir /home/backups/tmp
mysqldump -u Username -pPassword Databasename | gzip > /home/backups/tmp/mysqldump.sql.dump.gz
echo Database Backup Complete.. >> /home/mvo/backuplog

cp -Rf /var/www /home/backups/tmp
cp -Rf /home/groupoffice /home/backups/tmp
tar czvf /home/backups/`date +%w`/backup.tar.gz /home/backups/tmp
rm -Rf /home/backups/tmp
echo GroupOffice Backup Complete.. >> /home/mvo/backuplog

echo Backup Completed `date` >> /home/mvo/backuplog

And it is a cronjob. However when I run this script ./backup.sh then everything works fine.. When I run it through a cronjob the "rm -Rf /home/backups/tmp" and the "cp -Rf /var/www /home/backups/tmp" commands are like "overwritten" by the next commands.. in other words: they start to early aka they wont wait for previous command to finish.

How can I get past this? I've tried sleep but I want to keep my script flexibel as the content of the backupdirs may change in size.
So what I want to do is wait for a command to finish before calling a next command!

Thanks for you help!

Last edited by dswz; 06-30-2009 at 09:18 PM..