08-29-2004, 11:44 AM | #1 (permalink) |
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 |
08-29-2004, 02:43 PM | #2 (permalink) |
Junkie
Location: San Francisco
|
Take out the spaces in your variable declarations.
Code:
# 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 |
Tags |
scripting, shell, woes |
|
|