Hi this is the simple backup script which i used to take backup the databases of my clients
Code:
#!/bin/bash
date=`date +%d-%m-%Y_%H.%M.%S`
echo Backup Started $date >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
###########################################################
#create directory to store mysql database backup
mkdir /var/tmp/anishdatabasesbackup$date
if [ $? -ne 0 ]
then echo "Backup failed with errors" for $date >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
exit
else
echo “directory mysqldatabasebackup$date created” >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
fi
# Back up anish.com Databases
###########################################################
db = $MYSQL > /var/tmp/db
for db in $(mysql -u admin -pPASSWORD -D psa -e "select name from data_bases where dom_id=(SELECT id FROM domains where name='anish.info');" | sed '1d' > /var/tmp/db)
do
mysqldump -u admin -pPASSWORD $db >> /var/tmp/anishdatabasesbackup$date/$db.sql
echo DUMPING DATABASE ""$db"" >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
echo backup copy of $db is moved to /var/tmp/anishdatabasesbackup$date >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
cd /var/tmp/anishdatabasesbackup$date
a=`du -sh $db.sql | cut -f1`
echo THE SIZE OF $db.sql FILE IS $a >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
done
echo "Backup completed successfully $date" >> /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log
cat /var/tmp/anishdatabackuplog/anishdatabasesbackup$date.log | mail -s "anishdatabasesbackup" 07anis@gmail.com
Now my requirement is from mysqldb i need to get some values from that 2 values(databases) that only i need to dump.
From Db to get the values i use this command in script.
Code:
mysql -u admin -pPASSWORD -D psa -e "select name from data_bases where dom_id=(SELECT id FROM domains where name='anish.info');"
Output of this command is like this but i need only values db_trace and db_morrilton
Quote:
+-----------------+
| name |
+-----------------+
| db_trace |
| db_morrilton |
+-----------------+
|
so i add sed in this mysql command to delete the first line alone,
Code:
mysql -u admin -pPASSWORD -D psa -e "select name from data_bases where dom_id=(SELECT id FROM domains where name='anish.info');" | sed '1d' > /var/tmp/db
It give the exact output what i expect but in script the pipe symbol | not recognized so the script is not working, Don't know what mistake exactly i am doing, kindly look this script and guide me to solve this thread.