Sponsored Content
Top Forums Shell Programming and Scripting MySQL Restoration Backup Script Post 302650927 by Pandoula on Monday 4th of June 2012 01:16:56 PM
Old 06-04-2012
Here's the script. The problem line is in red (error in first post).

Since I'm a n00b, I welcome any security tips in writing this script as well.

Example usage: ./restore.sh 05-20-12 may20 whereby 05-20-12 is a datestamp of the DB file (i.e. backup.05-20-12.sql) and may20 is the database to-be-created in MySQL (that will hold the restored data).

I've been using TextEdit on my Mac (plaintext format, not rich-text) and copying the script into the file via the nano command. Would that be causing a problem, even if TextEdit is in plain-text editing mode?

Code:
#!/bin/sh

cat <<Header
--------------------------------------------------------------------------
-- Database Restoration Utility
-- v1.1
--------------------------------------------------------------------------

Header

######################################################################
# Restore a database all in one script
######################################################################

# Check args
args=("$@")
DBFILE="/home/site/backups/backup.${args[0]}.sql.gz"
echo Looking for file ${DBFILE}...

# Did we find it?
if [ -f $DBFILE ]; then
	echo "File found."
else
	echo "File does not exist.  Database cannot be restored.  Exiting."
	exit 1
fi

######################################################################
# Log in to MySQL, create a database
######################################################################

# mysql commands here
# [...]

######################################################################
# Do database restoration
######################################################################

echo Restoring and importing database...
gunzip /home/site/backups/backup.${args[0]}.sql.gz
mysql -u username -pHASH ${args[1]} < /home/site/backups/backup.${args[0]}.sql

echo Database successfully imported and restored
echo Backup data resides in database ${args[1]}
echo DONE!

exit 1

 

7 More Discussions You Might Find Interesting

1. Solaris

question about restoration from backup tape (solaris 10)

I am trying to restore opt on my server. my issue is, all the partitions are saved into the same back up tape. what is the exact command to just restore /opt for example, supposing c0t0d0s7 is the partition for /opt ---------- Post updated at 01:16 PM ---------- Previous update was at... (7 Replies)
Discussion started by: feg
7 Replies

2. Shell Programming and Scripting

How to backup a particular Database in MYSQL?

Hi All, Thanks in Advance!! How to backup a particular Databases..through Bash script!! For example i have 6 databases; Anish linux Software Questions Rhce Google these are the databases i have from that i want to take "Anish" and "questions" database backup regularly.... (4 Replies)
Discussion started by: anishkumarv
4 Replies

3. Shell Programming and Scripting

Help with perl mysql backup script

Hi, im trying to make a script that backups mysql databases but apparently I am having trouble with the variables, or simply something I am missing. Would appreciate any help, here is the script #!/usr/bin/perl -w use strict; require File::Spec; #VARIABLES my $databasename =... (4 Replies)
Discussion started by: Fireline
4 Replies

4. 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

5. Shell Programming and Scripting

Script - Mysql backup and delete

Hello I have a production mysql server and archive server, unfortunitly its not possible to setup repliacation between the two, the reason is that the archive server is using some fancy storage engine which doesn't allow mysql replication. I'm trying to write a script using perl that does... (1 Reply)
Discussion started by: amlife
1 Replies

6. Web Development

Restore MySQL backup

Hello all! First posting here! So be patient with me. I made a clean install with MacOS 10.8 and need to restore my Databases from my external backup drive. Apparently it is not possible, to create the MySQL user and password as before, and simply drag the databases from... (12 Replies)
Discussion started by: marek
12 Replies

7. UNIX and Linux Applications

MySQL & OpenLDAP - file level backup

Hi All, The MySQL & OpenLDAP database on my Debian are very lightly updated. Usually I tar everything on / including the databases. The restore works OK on another machine. I want to know whether its safe to do file level backup of databases like this ? Do the MySQL & OpenLDAP databases... (0 Replies)
Discussion started by: coolatt
0 Replies
MYSQL_TZINFO_TO_S(1)					       MySQL Database System					      MYSQL_TZINFO_TO_S(1)

NAME
mysql_tzinfo_to_sql - load the time zone tables SYNOPSIS
mysql_tzinfo_to_sql arguments DESCRIPTION
The mysql_tzinfo_to_sql program loads the time zone tables in the mysql database. It is used on systems that have a zoneinfo database (the set of files describing time zones). Examples of such systems are Linux, FreeBSD, Solaris, and Mac OS X. One likely location for these files is the /usr/share/zoneinfo directory (/usr/share/lib/zoneinfo on Solaris). If your system does not have a zoneinfo database, you can use the downloadable package described in Section 10.6, "MySQL Server Time Zone Support". mysql_tzinfo_to_sql can be invoked several ways: shell> mysql_tzinfo_to_sql tz_dir shell> mysql_tzinfo_to_sql tz_file tz_name shell> mysql_tzinfo_to_sql --leap tz_file For the first invocation syntax, pass the zoneinfo directory path name to mysql_tzinfo_to_sql and send the output into the mysql program. For example: shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql mysql_tzinfo_to_sql reads your system's time zone files and generates SQL statements from them. mysql processes those statements to load the time zone tables. The second syntax causes mysql_tzinfo_to_sql to load a single time zone file tz_file that corresponds to a time zone name tz_name: shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql If your time zone needs to account for leap seconds, invoke mysql_tzinfo_to_sql using the third syntax, which initializes the leap second information. tz_file is the name of your time zone file: shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql After running mysql_tzinfo_to_sql, it is best to restart the server so that it does not continue to use any previously cached time zone data. COPYRIGHT
Copyright (C) 1997, 2014, Oracle and/or its affiliates. All rights reserved. This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. SEE ALSO
For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/. AUTHOR
Oracle Corporation (http://dev.mysql.com/). MySQL 5.5 01/30/2014 MYSQL_TZINFO_TO_S(1)
All times are GMT -4. The time now is 07:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy