Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Dear Group
I have a script located inside a file:
/home/medicus/backup2.sh
(the contents of the script are below)
When I try to run it, I get the following error messages and the script does not execute. However, if I enter each line at the command prompt, it does execute:
[root@compused medicus]# sh ./backup2.sh
busy: /dev/sda1 already mounted or /tmp/usb
mount: according to mtab, /dev/sda1 is already mounted on /tmp/usb
Performing backup...
: command not found5:
============================================
: command not found6:
: command not found7:
gbak: readied database /opt/firebird/bin/mIBDB for backup
gbak: creating file /tmp/usb/mIBDB.gbk
gbak: cannot open backup file /tmp/usb/mIBDB.gbk
gbak: Exiting before completion due to errors
============================================
: command not found9:
'leep: invalid time interval `5
Try `sleep --help' for more information.
./backup2.sh: line 20: syntax error: unexpected end of file
[root@compused medicus]#
Here are contents of script:
#!/bin/sh
mkdir -p /tmp/usb
mount -t auto /dev/sda1 /tmp/usb
# perform backup
echo "Performing backup..." &&
echo "===========================================" &&
cd /opt/firebird/bin &&
./gbak -b -t -v -user sysdba -password masterkey /opt/firebird/bin/mIBDB /tmp/usb/mIBDB.gbk > /dev/null 2>&1
echo "============================================" &&
# wait a few seconds to make sure the disk is no longer being used
sleep 5
if [ "$?" == "0" ]; then
SCRIPT_MESSAGE="Backup completed successfully. It is safe to remove the drive"
else
SCRIPT_MESSAGE="Backup failed. To retry, please remove the drive, wait 10 seconds, and re-insert"
fi
umount /tmp/usb &&
rmdir /tmp/usb &&
echo "Backup Script Complete. Safe to remove drive."
Here's a little bit better script for ya. The first problem you're having is that your USB device is _already_ mounted. Unmount it before you run the script.
Code:
#!/bin/sh
mkdir -p /tmp/usb
mount -t auto /dev/sda1 /tmp/usb || exit 1
# perform backup
echo "Performing backup..."
echo "============================================"
cd /opt/firebird/bin && \
./gbak -b -t -v -user sysdba -password masterkey /opt/firebird/bin/mIBDB /tmp/usb/mIBDB.gbk > /dev/null 2>&1
echo "============================================"
# wait a few seconds to make sure the disk is no longer being used
sleep 5
if [ "$?" == "0" ]; then
SCRIPT_MESSAGE="Backup completed successfully. It is safe to remove the drive"
else
SCRIPT_MESSAGE="Backup failed. To retry, please remove the drive, wait 10 seconds, and re-insert"
fi
umount /tmp/usb && \
rmdir /tmp/usb
echo "Backup Script Complete. Safe to remove drive."
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.