Backup Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Backup Script
# 1  
Old 08-06-2018
Backup Script

I don't know how to repair this script :/

My OS: Ubuntu Server 18.04 "Bionic Beaver" LTS (64bits)

Code:
#!/bin/bash
#
### Ustawienia - sciezki do plików ###
DIRS="/home/ts/ /home/mc/"
BACKUP=/home/backup.$$
NOW=$(date +"%d-%m-%Y")
DELDATE=$(date -d "-7 days" +"%d-%m-%Y")
DAY=$(date +"%a")
#
### MySQL ###
MUSER="hiden"
MPASS="hiden"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
#
### FTP ###
FTPD="Backup"
FTPU="hiden"
FTPP="hiden"
FTPS="hiden"
NCFTP="$(which ncftpput)"
#
### Start Backup for file system ###
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
#
  FTPD=$FTPD
  FILE="files-$NOW.zip"
  zip -r $BACKUP/$FILE $DIRS
### Start MySQL Backup ###
# Get all databases name
DBS='$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse "show databases")'
for db in '$DBS'
do
 FILE=$BACKUP/mysql-$db.$NOW-$(date +"%T").gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
#
### Dump backup using FTP ###
#Start FTP backup using ncftp
ncftp -u"$FTPU" -p"$FTPP" $FTPS<<EOF
cd $FTPD
rm -r $DELDATE/*
rm -r $DELDATE
cd
mkdir $FTPD
mkdir $FTPD/$NOW
cd $FTPD/$NOW
lcd $BACKUP
mput *
quit
EOF
#
### Find out if ftp backup failed or not ###
rm -rf $BACKUP

When I run it I get error:
zip warning: name not matched: /home/mc/
but when I will modified $DIRS to: DIRS="/home/ts/ /home/mc/ /home/mc2/" I will get that same error but with mc2, because the program found this directory: /home/mc/

and next get this error

./backup.sh: 35: ./backup.sh: Syntax error: word unexpected (expecting "do")

I don't know what is bad with loop :/
# 2  
Old 08-06-2018
I don't see any syntactic problems, but these two lines:
Code:
DBS='$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse "show databases")'
for db in '$DBS'

Get rid of those single quotes:
Code:
DBS=$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse "show databases")
for db in $DBS

In both cases they are preventing expansion, first of the mysql command, then of the variable you stored the output of the mysql command into.

I couldn't see one, but I'm also guessing that there is a stray quote causing the syntax error you came across.

Andrew
# 3  
Old 08-06-2018
Thanks for found quotation marks Smilie I don't know why this script working properly on: ubuntu server 17.10 artful aardvark but on 18.04 "Bionic Beaver" have problem...

And when I leave an empty line without a comment, I get this error:
root@mines:~# sh ./backup.sh
: not found: 2: ./backup.sh:
# 4  
Old 08-07-2018
Quote:
Originally Posted by xCraftRayX
Thanks for found quotation marks Smilie I don't know why this script working properly on: ubuntu server 17.10 artful aardvark but on 18.04 "Bionic Beaver" have problem...

And when I leave an empty line without a comment, I get this error:
root@mines:~# sh ./backup.sh
: not found: 2: ./backup.sh:
Can you check that the script has no funny characters in it?
Code:
cat -vet backup.sh

Can you also check that every command you use (mysql, mysqldump, ncftpput etc) are installed? It may be that if this is a new installation not all the utilities you use in this script may be installed by default.

Andrew
# 5  
Old 08-07-2018
I had installed mysql, mysqldump ncftp etc.
when I use cat command I get this:
Code:
root@mines:~# cat -vet backup.sh
#!/bin/sh^M$
#^M$
### Ustawienia - sciezki do plikM-CM-3w ###^M$
DIRS="/home/ts/ /home/mc/ /home/X"^M$
BACKUP=/home/backup.$$^M$
NOW=$(date +"%d-%m-%Y")^M$
DELDATE=$(date -d "-7 days" +"%d-%m-%Y")^M$
DAY=$(date +"%a")^M$
#^M$
### MySQL ###^M$
MUSER="hiden"^M$
MPASS="hiden"^M$
MHOST="localhost"^M$
MYSQL="$(which mysql)"^M$
MYSQLDUMP="$(which mysqldump)"^M$
GZIP="$(which gzip)"^M$
#^M$
### FTP ###^M$
FTPD="Backup"^M$
FTPU="hiden"^M$
FTPP="hiden"^M$
FTPS="hiden"^M$
NCFTP="$(which ncftpput)"^M$
#^M$
### Start Backup for file system ###^M$
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :^M$
#^M$
  FTPD=$FTPD^M$
  FILE="files-$NOW.zip"^M$
  zip -r $BACKUP/$FILE $DIRS^M$
### Start MySQL Backup ###^M$
# Get all databases name^M$
DBS='$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse "show databases")'^M$
for db in $DBS^M$
do^M$
 FILE=$BACKUP/mysql-$db.$NOW-$(date +"%T").gz^M$
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE^M$
done^M$
#^M$
### Dump backup using FTP ###^M$
#Start FTP backup using ncftp^M$
ncftp -u"$FTPU" -p"$FTPP" $FTPS<<EOF^M$
cd $FTPD^M$
rm -r $DELDATE/*^M$
rm -r $DELDATE^M$
cd^M$
mkdir $FTPD^M$
mkdir $FTPD/$NOW^M$
cd $FTPD/$NOW^M$
lcd $BACKUP^M$
mput *^M$
quit^M$
EOF^M$
#^M$
### Find out if ftp backup failed or not ###^M$
rm -rf $BACKUP^M$

I convert win format to unix using this command and all works: perl -p -e 's/\r$//' < winfile.txt > unixfile.txt

Thanks for all Smilie

Last edited by xCraftRayX; 08-07-2018 at 04:01 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Backup Script

I have write the following script, its execution i got following error: !/bin/sh # # dy='date +%d%b%y' hn="ECTMPROD12" bk='/home/backup' sb=$bk'/'$hn # # cm_d01='tar -czf /home/backup/'$hn'_'$dy'_ofhome.tar.gz /home/oracle/ofhome' # # echo "***** start time of ECTMPROD12 backup full"... (3 Replies)
Discussion started by: rizwan.shaukat
3 Replies

2. Shell Programming and Scripting

Shell script to call Oracle archive backup script when file system reaches threshold value

Hello All, I need immediate help in creating shell script to call archivebkup.ksh script when archive file system capacity reaches threshold value or 60% Need to identify the unique file system that reaches threshold value. ex: capacity ... (4 Replies)
Discussion started by: sasikanthdba
4 Replies

3. Shell Programming and Scripting

Help with Backup Shell Script for Network Device Configuration backup

HI all, im new to shell scripting. need your guidence for my script. i wrote one script and is attached here Im explaining the requirement of script. AIM: Shell script to run automatically as per scheduled and backup few network devices configurations. Script will contain a set of commands... (4 Replies)
Discussion started by: saichand1985
4 Replies

4. Shell Programming and Scripting

Backup script / Test if script is already running

Hello everyone, I have 2 questions : 1) I have a backup shell script, let's call it backup.sh, that is called every hour as a cron job. As a matter of fact a backup could last more than one hour. It mounts a NAS and then do some rsync on important directories, so really I don't want to... (2 Replies)
Discussion started by: freddie50
2 Replies

5. Shell Programming and Scripting

Need help in creating file restoration script from a backup script.

Hi all i am struggling in creating a restore of env files while doing applications clone. the first file i created for copying the important configurations file which is running perfect now for reverting the changes i mean when i am restoring these files to its original places i have to do... (7 Replies)
Discussion started by: javeedkaleem
7 Replies

6. Shell Programming and Scripting

rsync backup mode(--backup) Are there any options to remove backup folders on successful deployment?

Hi Everyone, we are running rsync with --backup mode, Are there any rsync options to remove backup folders on successful deployment? Thanks in adv. (0 Replies)
Discussion started by: MVEERA
0 Replies

7. Shell Programming and Scripting

backup script

Hi, I need to write a script that will capture the 8th character on each line (alphanumeric /meta chars) to the 16th character and send to an output file. Any ideas? R, D. (3 Replies)
Discussion started by: Duffs22
3 Replies

8. Shell Programming and Scripting

help in backup script

Hello folks. Good Day! i want to backup /var/www directory backup to another system daily basis incremental backup and weekly full backup. Directory name where it should automatically created like 2010-04-20 i mean via script. Can some one help? (7 Replies)
Discussion started by: learnbash
7 Replies

9. UNIX for Dummies Questions & Answers

Backup Script

Hi, My SCO Unixware 7.1.1 box is setup to run an EOD backup script, which is as follows: ---------------------------------------------------------------------- start End-of-day compress $BASE TO /home/compdir write /home/compdir to DATTAPE end ... (0 Replies)
Discussion started by: tayyabq8
0 Replies

10. AIX

Backup Script

I'm not sure if this is the place to ask this question but I have a script on an IBM RS6000 that has quit working. I can manually run a backup using SMIT and it appears okay, but not sure about the script. ----------code------------ #!/bin/ksh #set -x echo backup beginning date find... (7 Replies)
Discussion started by: geek4sur
7 Replies
Login or Register to Ask a Question