Sponsored Content
Top Forums Shell Programming and Scripting Passing a MySql password from bash script Post 302374575 by codenjanod on Wednesday 25th of November 2009 02:32:59 AM
Old 11-25-2009
Passing a MySql password from bash script

Hi all,

I am running this script on Mandrakelinux release 10.1, 2.6.8.1-12mdksmp #1 SMP
I have also installed 'expect' separately.

I have created an Rsync script, but before any Rsync command does run, a MySql dump must be done first, and I am battling a bit to pass the MySql password from the bash script.

This is what my script looks like:
Code:
#!/bin/bash

VAULT='backupserver'
RSYNC=`which rsync`
DATE=$(date +%Y-%m-%d.%H:%M)
LOG="/tmp/MySql-$DATE.log"
MYSQLDUMP='/usr/local/mysql/bin/mysqldump'
BACKUPDIR='/Data/Mysql_Backups'
PASS='/root/.credentials'

backup () {
    VAR=$(expect -c "
        spawn "$MYSQLDUMP -u root -p database_1 $BACKUPDIR/backup.sql"
        expect \"password:\"
        send \"$PASS\r\"
        expect \"\\\\$\"
    ")
    echo "==============="
    echo "$VAR" 

        $RSYNC -e ssh -avl --delete --stats --progress $BACKUPDIR/backup.sql    root@$VAULT:/vault2/Backups/MySql    >> $LOG
        rm -rf $BACKUPDIR/backup.sql
}

backup

The output I get when running the script is:
Quote:
expect: invalid option -- u
usage: expect [-div] [-c cmds] [[-f] cmdfile] [args]
===============
spawn /usr/local/mysql/bin/mysqldump
rsync: link_stat "/Data/Mysql_Backups/backup.sql" failed: No such file or directory (2)
rsync error: some files could not be transferred (code 23) at main.c(692)
Thanks for the help.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passing variable from bash to perl from bash script

Hi All, I need to pass a variable to perl script from bash script, where in perl i am using if condition. Here is the cmd what i am using in perl FROM_DATE="06/05/2008" TO_DATE="07/05/2008" "perl -ne ' print if ( $_ >="$FROM_DATE" && $_ <= "$TO_DATE" ) ' filename" filename has... (10 Replies)
Discussion started by: arsidh
10 Replies

2. Shell Programming and Scripting

passing password in shell script

Hi, Anybody help to write a shell script as below requirement. script stops some costomized application services. 1. first it will stop apache as root 2. then it will switch to my application user and stop app service. Note: passing password is required to stop app service as app... (1 Reply)
Discussion started by: manojbarot1
1 Replies

3. Shell Programming and Scripting

ssh - passing password in shell script

I have a requirement, I need to run a command at remote system using a ssh. Is there any way we can pass the username and password in shell script to the ssh command as we did it in one of the shell script for FTP. ftp -n $i <<!EOF >> user Username $PASSWD cd /home/scripts ... (5 Replies)
Discussion started by: Muktesh
5 Replies

4. Shell Programming and Scripting

Passing a variable from shell script to mysql query?

I heard this was possible but from my research I haven't been able to figure it out yet. Seems it should be simple enough. Basically from a high level view I'm trying to accomplish... . $X='grep foo blah.log' then 'mysql command SELECT foo FROM bar WHERE ' . $X or something like that. ... (2 Replies)
Discussion started by: kero
2 Replies

5. Shell Programming and Scripting

passing database password to isql command in shell script

Hi, I need to connect to DB through my shell script. but I dont want to hardcode my db password in the script. Is there a way to do it? Thanks ---------- Post updated at 07:42 PM ---------- Previous update was at 04:54 PM ---------- :(Guys..please help me with this:( (1 Reply)
Discussion started by: agrawal.prachi
1 Replies

6. Shell Programming and Scripting

Passing password in script for ssh connection - no except

Used the script posted on forum - unix.com/shell-programming-scripting/21597-script-change-passwords-same-user-multiple-servers.html but the last question posted on this seems to be still unanswered, tried different things with no success, can someone help giving an way to pass the password via... (5 Replies)
Discussion started by: sapadmin
5 Replies

7. Shell Programming and Scripting

Passing Password to SSH without using expect in a Script

How can I pass password in SSH command without using expect in a shell program. I don't have expect installed on my Solaris server. #!/bin/bash ssh user@hotname (how to supply pass in script?:wall:) Experts please help its very urgent. Shrawan Kumar Sahu (4 Replies)
Discussion started by: ss135r
4 Replies

8. Shell Programming and Scripting

Passing password for ssh in Script

I want to do following 2 commands via script: 1) eval `ssh-agent`2) ssh-add /export/home/sufuser/.ssh/id_rsa When asked for passphrase enter "passwordpassword1234 but whenever I run the script it stucks after "ssh-add /export/home/sufuser/.ssh/id_rsa" command and asks fro... (4 Replies)
Discussion started by: yogeshpawar
4 Replies

9. Shell Programming and Scripting

Make a password protected bash script resist/refuse “bash -x” when the password is given

I want to give my long scripts to customer. The customer must not be able to read the scripts even if he has the password. The following command locks and unlocks the script but the set +x is simply ignored. The code: read -p 'Script: ' S && C=$S.crypt H='eval "$((dd if=$0 bs=1 skip=//|gpg... (7 Replies)
Discussion started by: frad
7 Replies

10. Shell Programming and Scripting

Expect script not passing password / commands ??

Newbie here. My goal is to have the expect script log into the Ubuntu 18.04 server and run two commands (lsb_release -a and ip addr) and eventually pipe the output/results to a file. For now, I would be happy to get this one command or two to run successfully. How to fix this? #!/usr/bin/expect ... (3 Replies)
Discussion started by: jacob600
3 Replies
mysqldump(1)							  MySQL database						      mysqldump(1)

NAME
mysqldump - text-based client for dumping or backing up mysql databases, tables and or data. USAGE
mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] OPTION SYNOPSIS
mysqldump [-A|--all-databases] [-a|--all] [-#|--debug=...] [--character-sets-dir=...] [-?|--help] [-B|--databases] [-c|--complete-insert] [-C|--compress] [--default-character-set=...] [-e|--extended-insert] [--add-drop-table] [--add-locks] [--allow-keywords] [--delayed- insert] [-F|--flush-logs] [-f|--force] [-h|--host=...] [-l|--lock-tables] [-n|--no-create-db] [-t|--no-create-info] [-d|--no-data] [-O|--set-variablevar=option] [--opt] [-p|--password[=...]] [-P|--port=...] [-q|--quick] [-Q|--quote-names] [-S|--socket=...] [--tables] [-T|--tab=...] [-u|--user=#] [-v|--verbose] [-V|--version] [-w|--where=] [--delayed] [-e|--extended-insert] [--fields-terminated-by=...] [--fields-enclosed-by=...] [--fields-optionally-enclosed-by=...] [--fields-escaped-by=...] [--lines-terminated-by=...] [-v|--verbose] [-V|--version] [-O net_buffer_length=#, where # < 16M] DESCRIPTION
Dumping definition and data mysql database or table mysqldump supports by executing -A|--all-databases Dump all the databases. This will be same as --databases with all databases selected. -a|--all Include all MySQL specific create options. -#|--debug=... Output debug log. Often this is 'd:t:o,filename`. --character-sets-dir=... Directory where character sets are -?|--help Display this help message and exit. -B|--databases To dump several databases. Note the difference in usage; In this case no tables are given. All name arguments are regarded as databasenames. -c|--complete-insert Use complete insert statements. -C|--compress Use compression in server/client protocol. --default-character-set=... Set the default character set -e|--extended-insert Allows utilization of the new, much faster INSERT syntax. --add-drop-table Add a 'drop table' before each create. --add-locks Add locks around insert statements. --allow-keywords Allow creation of column names that are keywords. --delayed-insert Insert rows with INSERT DELAYED. -F|--flush-logs Flush logs file in server before starting dump. -f|--force Continue even if we get an sql-error. -h|--host=... Connect to host. -l|--lock-tables Lock all tables for read. -n|--no-create-db 'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;' will not be put in the output. The above line will be added otherwise, if --databases or --all-databases option was given. -t|--no-create-info Don't write table creation info. -d|--no-data No row information. -O|--set-variable var=option give a variable a value. --help lists variables --opt Same as --add-drop-table --add-locks --all --extended-insert --quick --lock-tables -p|--password[=...] Password to use when connecting to server. If password is not given it's solicited on the tty. -P|--port=... Port number to use for connection. -q|--quick Don't buffer query, dump directly to stdout. -Q|--quote-names Quote table and column names with ` -S|--socket=... Socket file to use for connection. --tables Overrides option --databases(-B). -T|--tab=... Creates tab separated textfile for each table to given path. (creates .sql and .txt files). NOTE: This only works if mysqldump is run on the same machine as the mysqld daemon. -u|--user=# User for login if not current user. -v|--verbose Print info about the various stages. -V|--version Output version information and exit. -w|--where= dump only selected records; QUOTES mandatory! --delayed Insert rows with the INSERT DELAYED command. -e|--extended-insert Use the new multiline INSERT syntax. (Gives more compact and faster inserts statements.) --fields-terminated-by=... --fields-enclosed-by=... --fields-optionally-enclosed-by=... --fields-escaped-by=... --lines-terminated-by=... These options are used with the -T option and have the same meaning as the corresponding clauses for LOAD DATA INFILE. See Mysql manual section 7.23 LOAD DATA INFILE Syntax. -v|--verbose Verbose mode. Print out more information on what the program does. -V|--version Print version information and exit. -O net_buffer_length=#, where # < 16M When creating multi-row-insert statements (as with option --extended-insert or --opt ), mysqldump will create rows up to net_buf- fer_length length. If you increase this variable, you should also ensure that the max_allowed_packet variable in the MySQL server is bigger than the net_buffer_length. EXAMPLES
The most normal use of mysqldump is probably for making a backup of whole databases. See Mysql Manual section 21.2 Database Backups. mysqldump --opt database > backup-file.sql You can read this back into MySQL with: mysql database < backup-file.sql or mysql -e 'source /patch-to-backup/backup-file.sql' database However, it's also very useful to populate another MySQL server with information from a database: mysqldump --opt database | mysql --host=remote-host -C database It is possible to dump several databases with one command: mysqldump --databases database1 [ database2 database3... ] > my_databases.sql If all the databases are wanted, one can use: mysqldump --all-databases > all_databases.sql SEE ALSO
isamchk(1), isamlog(1), mysql(1), mysqlaccess(1), mysqladmin(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysql_fix_privilege_tables(1), mysqlshow(1), mysql_zap(1), perror(1), replace(1) For more information please refer to the MySQL reference manual, which may already be installed locally and which is also available online at http://www.mysql.com/doc/en/ BUGS
Please refer to http://bugs.mysql.com/ to report bugs. AUTHOR
Ver 1.0, distribution 4.0.24 Michael (Monty) Widenius (monty@mysql.com), MySQL AB (http://www.mysql.com/). This software comes with no warranty. Manual page by L. (Kill-9) Pedersen (kill-9@kill-9.dk), Mercurmedia Data Model Architect / system developer (http://www.mercur- media.com) ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +--------------------+------------------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +--------------------+------------------------------------+ |Availability | SUNWmysqlr, SUNWmysqlu, SUNWmysqlt | +--------------------+------------------------------------+ |Interface Stability | External | +--------------------+------------------------------------+ NOTES
Source for mysql is available on http://opensolaris.org. MySQL 4.0 19 December 2000 mysqldump(1)
All times are GMT -4. The time now is 12:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy