View Single Post
Old 08-29-2004, 11:44 AM   #1 (permalink)
sailor
beauty in the breakdown
 
Location: Chapel Hill, NC
Shell Scripting Woes

Well, unfortunately I recently had to blow away one of my linux boxen. While I had backups of the important stuff, my backup scripts had slipped my mind. So here I am, rewriting them. Got the important one done, upload it to the box, and no dice. Here is what it returns:

backup.sh: line 17: MYSQL_DB: command not found
backup.sh: line 18: MYSQL_USER: command not found
backup.sh: line 19: MYSQL_PASS: command not found
backup.sh: line 20: MYSQL_SAVE_DIR: command not found
backup.sh: line 21: DATE: command not found
backup.sh: line 24: FTP_HOST: command not found
backup.sh: line 25: FTP_USER: command not found
backup.sh: line 26: FTP_PASS: command not found
backup.sh: line 27: FTP_DIR: command not found
backup.sh: line 40: ftp: command not found

All of those (except for the last one, ftp) are variables. My first thought was that I had forgotten or put a typo in the shabang, but thats all fine and good. Im really quite baffled--I had almost this identical script running on this box earlier, and now nothing is working.

By the way, the box is running Debian testing. Bare essentials--No X, just a clean install plus apache/php/mysql.

Here is the offending code (with my passwords and such deleted ). I cant guarantee there arent other errors in it, because I cant get it to run to test it


#!/bin/bash

# SQL Dump Config
MYSQL_DB = 'all' # the database to dump
MYSQL_USER = '' # the user to login to mysql as
MYSQL_PASS = '' # mysql user password
MYSQL_SAVE_DIR = '/root/webdump/sql/' # directory to save the dump into
DATE = `date -I` # date formatting to be used to name the dump

# FTP Config
FTP_HOST = '' # the ftp host to upload to
FTP_USER = '' # the ftp user to login as
FTP_PASS = '' # the password for the FTP user
FTP_DIR = 'BACKUP' # the directory to put the uploaded file into



#
# BEGIN SCRIPT
#

# Do the dump...
cd $MYSQL_SAVE_DIR
mysqldump --user=$MYSQL_USER --password=$MYSQL_PASS --opt $MYSQL_DB > $MYSQL_SAVE_DIR/$date.sql

# Upload it all...
ftp -n $FTP_HOST <<END
quote USER $FTP_USER
quote PASS $FTP_PASS
cd $FTP_DIR
put $DATE.sql
bye
END

exit 0
__________________
"Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws."
--Plato
sailor is offline  
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62