<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comentarios en: Cómo importar datos de CSV a MySQL en PHP</title>
	<link>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Wed, 07 Jan 2009 10:56:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: padpach7</title>
		<link>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-479</link>
		<dc:creator>padpach7</dc:creator>
		<pubDate>Fri, 20 Apr 2007 23:50:12 +0000</pubDate>
		<guid>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-479</guid>
		<description>gracias amigo tu script esta  perfecto
muchas gracias desde oaxaca mexico</description>
		<content:encoded><![CDATA[<p>gracias amigo tu script esta  perfecto<br />
muchas gracias desde oaxaca mexico</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: voor</title>
		<link>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-477</link>
		<dc:creator>voor</dc:creator>
		<pubDate>Thu, 19 Apr 2007 22:29:59 +0000</pubDate>
		<guid>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-477</guid>
		<description>Hola este script exporta y envia a un correo electronico un backup de la base de datos. ojala te sirva ely 



#!/bin/bash
#
# MySQL Backup Script
# VER. 2.5 - http://sourceforge.net/projects/automysqlbackup/
# Copyright (c) 2002-2003 wipe_out@lycos.co.uk
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#=====================================================================
#=====================================================================
# Set the following variables to your system needs
# (Detailed instructions below variables)
#=====================================================================

# Username to access the MySQL server e.g. dbuser
USERNAME=dbuser

# Username to access the MySQL server e.g. password
PASSWORD=password

# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost

# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
DBNAMES="DB1 DB2 DB3"

# Backup directory location e.g /backups
BACKUPDIR="/backups"

# Mail setup
# What would you like to be mailed to you?
# - log   : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
MAILCONTENT="stdout"

# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])
MAXATTSIZE="4000"

# Email Address to send mail to? (user@domain.com)
MAILADDR="user@domain.com"


# ============================================================
# === ADVANCED OPTIONS ( Read the doc's below for details )===
#=============================================================

# List of DBBNAMES for Monthly Backups.
MDBNAMES="mysql $DBNAMES"

# List of DBNAMES to EXLUCDE if DBNAMES are set to all (must be in " quotes)
DBEXCLUDE=""

# Include CREATE DATABASE in backup?
CREATE_DATABASE=yes

# Separate backup directory and file for each DB? (yes or no)
SEPDIR=yes

# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
DOWEEKLY=6

# Choose Compression type. (gzip or bzip2)
COMP=gzip

# Compress communications between backup server and MySQL server?
COMMCOMP=no

# Additionally keep a copy of the most recent backup in a seperate directory.
LATEST=no

#  The maximum size of the buffer for client/server communication. e.g. 16MB (maximum is 1GB)
MAX_ALLOWED_PACKET=

#  For connections to localhost. Sometimes the Unix socket file must be specified.
SOCKET=

# Command to run before backups (uncomment to use)
#PREBACKUP="/etc/mysql-backup-pre"

# Command run after backups (uncomment to use)
#POSTBACKUP="/etc/mysql-backup-post"

#=====================================================================
# Options documantation
#=====================================================================
# Set USERNAME and PASSWORD of a user that has at least SELECT permission
# to ALL databases.
#
# Set the DBHOST option to the server you wish to backup, leave the
# default to backup "this server".(to backup multiple servers make
# copies of this file and set the options for that server)
#
# Put in the list of DBNAMES(Databases)to be backed up. If you would like
# to backup ALL DBs on the server set DBNAMES="all".(if set to "all" then
# any new DBs will automatically be backed up without needing to modify
# this backup script when a new DB is created).
#
# If the DB you want to backup has a space in the name replace the space
# with a % e.g. "data base" will become "data%base"
# NOTE: Spaces in DB names may not work correctly when SEPDIR=no.
#
# You can change the backup storage location from /backups to anything
# you like by using the BACKUPDIR setting..
#
# The MAILCONTENT and MAILADDR options and pretty self explanitory, use
# these to have the backup log mailed to you at any email address or multiple
# email addresses in a space seperated list.
# (If you set mail content to "log" you will require access to the "mail" program
# on your server. If you set this to "files" you will have to have mutt installed
# on your server. If you set it to "stdout" it will log to the screen if run from 
# the console or to the cron job owner if run through cron. If you set it to "quiet"
# logs will only be mailed if there are errors reported. )
#
# MAXATTSIZE sets the largest allowed email attachments total (all backup files) you
# want the script to send. This is the size before it is encoded to be sent as an email
# so if your mail server will allow a maximum mail size of 5MB I would suggest setting
# MAXATTSIZE to be 25% smaller than that so a setting of 4000 would probably be fine.
#
# Finally copy automysqlbackup.sh to anywhere on your server and make sure
# to set executable permission. You can also copy the script to
# /etc/cron.daily to have it execute automatically every night or simply
# place a symlink in /etc/cron.daily to the file if you wish to keep it 
# somwhere else.
# NOTE:On Debian copy the file with no extention for it to be run
# by cron e.g just name the file "automysqlbackup"
#
# Thats it..
#
#
# === Advanced options doc's ===
#
# The list of MDBNAMES is the DB's to be backed up only monthly. You should
# always include "mysql" in this list to backup your user/password
# information along with any other DBs that you only feel need to
# be backed up monthly. (if using a hosted server then you should
# probably remove "mysql" as your provider will be backing this up)
# NOTE: If DBNAMES="all" then MDBNAMES has no effect as all DBs will be backed
# up anyway.
#
# If you set DBNAMES="all" you can configure the option DBEXCLUDE. Other
# wise this option will not be used.
# This option can be used if you want to backup all dbs, but you want 
# exclude some of them. (eg. a db is to big).
#
# Set CREATE_DATABASE to "yes" (the default) if you want your SQL-Dump to create
# a database with the same name as the original database when restoring.
# Saying "no" here will allow your to specify the database name you want to
# restore your dump into, making a copy of the database by using the dump
# created with automysqlbackup.
# NOTE: Not used if SEPDIR=no
#
# The SEPDIR option allows you to choose to have all DBs backed up to
# a single file (fast restore of entire server in case of crash) or to
# seperate directories for each DB (each DB can be restored seperately
# in case of single DB corruption or loss).
#
# To set the day of the week that you would like the weekly backup to happen
# set the DOWEEKLY setting, this can be a value from 1 to 7 where 1 is Monday,
# The default is 6 which means that weekly backups are done on a Saturday.
#
# COMP is used to choose the copmression used, options are gzip or bzip2.
# bzip2 will produce slightly smaller files but is more processor intensive so
# may take longer to complete.
#
# COMMCOMP is used to enable or diable mysql client to server compression, so
# it is useful to save bandwidth when backing up a remote MySQL server over
# the network. 
#
# LATEST is to store an additional copy of the latest backup to a standard
# location so it can be downloaded bt thrid party scripts.
#
# If the DB's being backed up make use of large BLOB fields then you may need
# to increase the MAX_ALLOWED_PACKET setting, for example 16MB..
#
# When connecting to localhost as the DB server (DBHOST=localhost) sometimes
# the system can have issues locating the socket file.. This can now be set
# using the SOCKET parameter.. An example may be SOCKET=/private/tmp/mysql.sock
#
# Use PREBACKUP and POSTBACKUP to specify Per and Post backup commands
# or scripts to perform tasks either before or after the backup process.
#
#
#=====================================================================
# Backup Rotation..
#=====================================================================
#
# Daily Backups are rotated weekly..
# Weekly Backups are run by default on Saturday Morning when
# cron.daily scripts are run...Can be changed with DOWEEKLY setting..
# Weekly Backups are rotated on a 5 week cycle..
# Monthly Backups are run on the 1st of the month..
# Monthly Backups are NOT rotated automatically...
# It may be a good idea to copy Monthly backups offline or to another
# server..
#
#=====================================================================
# Please Note!!
#=====================================================================
#
# I take no resposibility for any data loss or corruption when using
# this script..
# This script will not help in the event of a hard drive crash. If a 
# copy of the backup has not be stored offline or on another PC..
# You should copy your backups offline regularly for best protection.
#
# Happy backing up...
#
#=====================================================================
# Restoring
#=====================================================================
# Firstly you will need to uncompress the backup file.
# eg.
# gunzip file.gz (or bunzip2 file.bz2)
#
# Next you will need to use the mysql client to restore the DB from the
# sql file.
# eg.
# mysql --user=username --pass=password --host=dbserver database " in the above command because
# you are piping the file.sql to mysql and not the other way around.
#
# Lets hope you never have to use this.. :)
#
#=====================================================================
# Change Log
#=====================================================================
#
# VER 2.5 - (2006-01-15)
#		Added support for setting MAXIMUM_PACKET_SIZE and SOCKET parameters (suggested by Yvo van Doorn)
# VER 2.4 - (2006-01-23)
#    Fixed bug where weekly backups were not being rotated. (Fix by wolf02)
#    Added hour an min to backup filename for the case where backups are taken multiple
#    times in a day. NOTE This is not complete support for mutiple executions of the script
#    in a single day.
#    Added MAILCONTENT="quiet" option, see docs for details. (requested by snowsam)
#    Updated path statment for compatibility with OSX.
#    Added "LATEST" to additionally store the last backup to a standard location. (request by Grant29)
# VER 2.3 - (2005-11-07)
#    Better error handling and notification of errors (a long time coming)
#    Compression on Backup server to MySQL server communications. 
# VER 2.2 - (2004-12-05)
#    Changed from using depricated "-N" to "--skip-column-names".
#    Added ability to have compressed backup's emailed out. (code from Thomas Heiserowski)
#    Added maximum attachment size setting.
# VER 2.1 - (2004-11-04)
#    Fixed a bug in daily rotation when not using gzip compression. (Fix by Rob Rosenfeld)
# VER 2.0 - (2004-07-28)
#    Switched to using IO redirection instead of pipeing the output to the logfile.
#    Added choice of compression of backups being gzip of bzip2.
#    Switched to using functions to facilitate more functionality.
#    Added option of either gzip or bzip2 compression. 
# VER 1.10 - (2004-07-17)
#    Another fix for spaces in the paths (fix by Thomas von Eyben)
#    Fixed bug when using PREBACKUP and POSTBACKUP commands containing many arguments.
# VER 1.9 - (2004-05-25)
#    Small bug fix to handle spaces in LOGFILE path which contains spaces (reported by Thomas von Eyben)
#    Updated docs to mention that Log email can be sent to multiple email addresses.
# VER 1.8 - (2004-05-01)
#    Added option to make backups restorable to alternate database names
#    meaning that a copy of the database can be created (Based on patch by Rene Hoffmann)
#    Seperated options into standard and advanced.
#    Removed " from single file dump DBMANES because it caused an error but
#    this means that if DB's have spaces in the name they will not dump when SEPDIR=no.
#    Added -p option to mkdir commands to create multiple subdirs without error.
#    Added disk usage and location to the bottom of the backup report.
# VER 1.7 - (2004-04-22)
#    Fixed an issue where weelky backups would only work correctly if server
#    locale was set to English (issue reported by Tom Ingberg)
#    used "eval" for "rm" commands to try and resolve rotation issues.
#    Changed name of status log so multiple scripts can be run at the same time.
# VER 1.6 - (2004-03-14)
#   Added PREBACKUP and POSTBACKUP command functions. (patch by markpustjens)
#   Added support for backing up DB's with Spaces in the name.
#   (patch by markpustjens)
# VER 1.5 - (2004-02-24)
#   Added the ability to exclude DB's when the "all" option is used.
#   (Patch by kampftitan)
# VER 1.4 - (2004-02-02)
#   Project moved to Sourceforge.net
# VER 1.3 - (2003-09-25)
#   Added support for backing up "all" databases on the server without
#    having to list each one seperately in the configuration.
#   Added DB restore instructions.
# VER 1.2 - (2003-03-16)
#   Added server name to the backup log so logs from multiple servers
#   can be easily identified.
# VER 1.1 - (2003-03-13)
#   Small Bug fix in monthly report. (Thanks Stoyanski)
#   Added option to email log to any email address. (Inspired by Stoyanski)
#   Changed Standard file name to .sh extention.
#   Option are set using yes and no rather than 1 or 0.
# VER 1.0 - (2003-01-30)
#   Added the ability to have all databases backup to a single dump
#   file or seperate directory and file for each database.
#   Output is better for log keeping.
# VER 0.6 - (2003-01-22)
#   Bug fix for daily directory (Added in VER 0.5) rotation.
# VER 0.5 - (2003-01-20)
#   Added "daily" directory for daily backups for neatness (suggestion by Jason)
#   Added DBHOST option to allow backing up a remote server (Suggestion by Jason)
#   Added "--quote-names" option to mysqldump command.
#   Bug fix for handling the last and first of the year week rotation.
# VER 0.4 - (2002-11-06)
#   Added the abaility for the script to create its own directory structure.
# VER 0.3 - (2002-10-01)
#   Changed Naming of Weekly backups so they will show in order.
# VER 0.2 - (2002-09-27)
#   Corrected weekly rotation logic to handle weeks 0 - 10 
# VER 0.1 - (2002-09-21)
#   Initial Release
#
#=====================================================================
#=====================================================================
#=====================================================================
#
# Should not need to be modified from here down!!
#
#=====================================================================
#=====================================================================
#=====================================================================
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/mysql/bin 
DATE=`date +%Y-%m-%d_%Hh%Mm`				# Datestamp e.g 2002-09-21
DOW=`date +%A`							# Day of the week e.g. Monday
DNOW=`date +%u`						# Day number of the week 1 to 7 where 1 represents Monday
DOM=`date +%d`							# Date of the Month e.g. 27
M=`date +%B`							# Month e.g January
W=`date +%V`							# Week Number e.g 37
VER=2.5									# Version Number
LOGFILE=$BACKUPDIR/$DBHOST-`date +%N`.log		# Logfile Name
LOGERR=$BACKUPDIR/ERRORS_$DBHOST-`date +%N`.log		# Logfile Name
BACKUPFILES=""
OPT="--quote-names --opt"			# OPT string for use with mysqldump ( see man mysqldump )

# Add --compress mysqldump option to $OPT
if [ "$COMMCOMP" = "yes" ];
	then
		OPT="$OPT --compress"
	fi

# Add --compress mysqldump option to $OPT
if [ "$MAX_ALLOWED_PACKET" ];
	then
		OPT="$OPT --max_allowed_packet=$MAX_ALLOWED_PACKET"
	fi

# Create required directories
if [ ! -e "$BACKUPDIR" ]		# Check Backup Directory exists.
	then
	mkdir -p "$BACKUPDIR"
fi

if [ ! -e "$BACKUPDIR/daily" ]		# Check Daily Directory exists.
	then
	mkdir -p "$BACKUPDIR/daily"
fi

if [ ! -e "$BACKUPDIR/weekly" ]		# Check Weekly Directory exists.
	then
	mkdir -p "$BACKUPDIR/weekly"
fi

if [ ! -e "$BACKUPDIR/monthly" ]	# Check Monthly Directory exists.
	then
	mkdir -p "$BACKUPDIR/monthly"
fi

if [ "$LATEST" = "yes" ]
then
	if [ ! -e "$BACKUPDIR/latest" ]	# Check Latest Directory exists.
	then
		mkdir -p "$BACKUPDIR/latest"
	fi
eval rm -fv "$BACKUPDIR/latest/*"
fi

# IO redirection for logging.
touch $LOGFILE
exec 6&#62;&#38;1           # Link file descriptor #6 with stdout.
                    # Saves stdout.
exec &#62; $LOGFILE     # stdout replaced with file $LOGFILE.
touch $LOGERR
exec 7&#62;&#38;2           # Link file descriptor #7 with stderr.
                    # Saves stderr.
exec 2&#62; $LOGERR     # stderr replaced with file $LOGERR.


# Functions

# Database dump function
dbdump () {
mysqldump --user=$USERNAME --password=$PASSWORD --host=$DBHOST $OPT $1 &#62; $2
return 0
}

# Compression function plus latest copy
SUFFIX=""
compression () {
if [ "$COMP" = "gzip" ]; then
	gzip -f "$1"
	echo
	echo Backup Information for "$1"
	gzip -l "$1.gz"
	SUFFIX=".gz"
elif [ "$COMP" = "bzip2" ]; then
	echo Compression information for "$1.bz2"
	bzip2 -f -v $1 2&#62;&#38;1
	SUFFIX=".bz2"
else
	echo "No compression option set, check advanced settings"
fi
if [ "$LATEST" = "yes" ]; then
	cp $1$SUFFIX "$BACKUPDIR/latest/"
fi	
return 0
}


# Run command before we begin
if [ "$PREBACKUP" ]
	then
	echo ======================================================================
	echo "Prebackup command output."
	echo
	eval $PREBACKUP
	echo
	echo ======================================================================
	echo
fi


if [ "$SEPDIR" = "yes" ]; then # Check if CREATE DATABSE should be included in Dump
	if [ "$CREATE_DATABASE" = "no" ]; then
		OPT="$OPT --no-create-db"
	else
		OPT="$OPT --databases"
	fi
else
	OPT="$OPT --databases"
fi

# Hostname for LOG information
if [ "$DBHOST" = "localhost" ]; then
	HOST=`hostname`
	if [ "$SOCKET" ]; then
		OPT="$OPT --socket=$SOCKET"
	fi
else
	HOST=$DBHOST
fi

# If backing up all DBs on the server
if [ "$DBNAMES" = "all" ]; then
        DBNAMES="`mysql --user=$USERNAME --password=$PASSWORD --host=$DBHOST --batch --skip-column-names -e "show databases"&#124; sed 's/ /%/g'`"

	# If DBs are excluded
	for exclude in $DBEXCLUDE
	do
		DBNAMES=`echo $DBNAMES &#124; sed "s/\b$exclude\b//g"`
	done

        MDBNAMES=$DBNAMES
fi
	
echo ======================================================================
echo AutoMySQLBackup VER $VER
echo http://sourceforge.net/projects/automysqlbackup/
echo 
echo Backup of Database Server - $HOST
echo ======================================================================

# Test is seperate DB backups are required
if [ "$SEPDIR" = "yes" ]; then
echo Backup Start Time `date`
echo ======================================================================
	# Monthly Full Backup of all Databases
	if [ $DOM = "01" ]; then
		for MDB in $MDBNAMES
		do
 
			 # Prepare $DB for using
		        MDB="`echo $MDB &#124; sed 's/%/ /g'`"

			if [ ! -e "$BACKUPDIR/monthly/$MDB" ]		# Check Monthly DB Directory exists.
			then
				mkdir -p "$BACKUPDIR/monthly/$MDB"
			fi
			echo Monthly Backup of $MDB...
				dbdump "$MDB" "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql"
				compression "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql"
				BACKUPFILES="$BACKUPFILES $BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql$SUFFIX"
			echo ----------------------------------------------------------------------
		done
	fi

	for DB in $DBNAMES
	do
	# Prepare $DB for using
	DB="`echo $DB &#124; sed 's/%/ /g'`"
	
	# Create Seperate directory for each DB
	if [ ! -e "$BACKUPDIR/daily/$DB" ]		# Check Daily DB Directory exists.
		then
		mkdir -p "$BACKUPDIR/daily/$DB"
	fi
	
	if [ ! -e "$BACKUPDIR/weekly/$DB" ]		# Check Weekly DB Directory exists.
		then
		mkdir -p "$BACKUPDIR/weekly/$DB"
	fi
	
	# Weekly Backup
	if [ $DNOW = $DOWEEKLY ]; then
		echo Weekly Backup of Database \( $DB \)
		echo Rotating 5 weeks Backups...
			if [ "$W" -le 05 ];then
				REMW=`expr 48 + $W`
			elif [ "$W" -lt 15 ];then
				REMW=0`expr $W - 5`
			else
				REMW=`expr $W - 5`
			fi
		eval rm -fv "$BACKUPDIR/weekly/$DB_week.$REMW.*" 
		echo
			dbdump "$DB" "$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.sql"
			compression "$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.sql"
			BACKUPFILES="$BACKUPFILES $BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.sql$SUFFIX"
		echo ----------------------------------------------------------------------
	
	# Daily Backup
	else
		echo Daily Backup of Database \( $DB \)
		echo Rotating last weeks Backup...
		eval rm -fv "$BACKUPDIR/daily/$DB/*.$DOW.sql.*" 
		echo
			dbdump "$DB" "$BACKUPDIR/daily/$DB/${DB}_$DATE.$DOW.sql"
			compression "$BACKUPDIR/daily/$DB/${DB}_$DATE.$DOW.sql"
			BACKUPFILES="$BACKUPFILES $BACKUPDIR/daily/$DB/${DB}_$DATE.$DOW.sql$SUFFIX"
		echo ----------------------------------------------------------------------
	fi
	done
echo Backup End `date`
echo ======================================================================


else # One backup file for all DBs
echo Backup Start `date`
echo ======================================================================
	# Monthly Full Backup of all Databases
	if [ $DOM = "01" ]; then
		echo Monthly full Backup of \( $MDBNAMES \)...
			dbdump "$MDBNAMES" "$BACKUPDIR/monthly/$DATE.$M.all-databases.sql"
			compression "$BACKUPDIR/monthly/$DATE.$M.all-databases.sql"
			BACKUPFILES="$BACKUPFILES $BACKUPDIR/monthly/$DATE.$M.all-databases.sql$SUFFIX"
		echo ----------------------------------------------------------------------
	fi

	# Weekly Backup
	if [ $DNOW = $DOWEEKLY ]; then
		echo Weekly Backup of Databases \( $DBNAMES \)
		echo
		echo Rotating 5 weeks Backups...
			if [ "$W" -le 05 ];then
				REMW=`expr 48 + $W`
			elif [ "$W" -lt 15 ];then
				REMW=0`expr $W - 5`
			else
				REMW=`expr $W - 5`
			fi
		eval rm -fv "$BACKUPDIR/weekly/week.$REMW.*" 
		echo
			dbdump "$DBNAMES" "$BACKUPDIR/weekly/week.$W.$DATE.sql"
			compression "$BACKUPDIR/weekly/week.$W.$DATE.sql"
			BACKUPFILES="$BACKUPFILES $BACKUPDIR/weekly/week.$W.$DATE.sql$SUFFIX"
		echo ----------------------------------------------------------------------
		
	# Daily Backup
	else
		echo Daily Backup of Databases \( $DBNAMES \)
		echo
		echo Rotating last weeks Backup...
		eval rm -fv "$BACKUPDIR/daily/*.$DOW.sql.*" 
		echo
			dbdump "$DBNAMES" "$BACKUPDIR/daily/$DATE.$DOW.sql"
			compression "$BACKUPDIR/daily/$DATE.$DOW.sql"
			BACKUPFILES="$BACKUPFILES $BACKUPDIR/daily/$DATE.$DOW.sql$SUFFIX"
		echo ----------------------------------------------------------------------
	fi
echo Backup End Time `date`
echo ======================================================================
fi
echo Total disk space used for backup storage..
echo Size - Location
echo `du -hs "$BACKUPDIR"`
echo
echo ======================================================================
echo If you find AutoMySQLBackup valuable please make a donation at
echo http://sourceforge.net/project/project_donations.php?group_id=101066
echo ======================================================================

# Run command when we're done
if [ "$POSTBACKUP" ]
	then
	echo ======================================================================
	echo "Postbackup command output."
	echo
	eval $POSTBACKUP
	echo
	echo ======================================================================
fi

#Clean up IO redirection
exec 1&#62;&#38;6 6&#62;&#38;-      # Restore stdout and close file descriptor #6.
exec 1&#62;&#38;7 7&#62;&#38;-      # Restore stdout and close file descriptor #7.

if [ "$MAILCONTENT" = "files" ]
then
	if [ -s "$LOGERR" ]
	then
		# Include error log if is larger than zero.
		BACKUPFILES="$BACKUPFILES $LOGERR"
		ERRORNOTE="WARNING: Error Reported - "
	fi
	#Get backup size
	ATTSIZE=`du -c $BACKUPFILES &#124; grep "[[:digit:][:space:]]total$" &#124;sed s/\s*total//`
	if [ $MAXATTSIZE -ge $ATTSIZE ]
	then
		BACKUPFILES=`echo "$BACKUPFILES" &#124; sed -e "s# # -a #g"`	#enable multiple attachments
		mutt -s "$ERRORNOTE MySQL Backup Log and SQL Files for $HOST - $DATE" $BACKUPFILES $MAILADDR </description>
		<content:encoded><![CDATA[<p>Hola este script exporta y envia a un correo electronico un backup de la base de datos. ojala te sirva ely </p>
<p>#!/bin/bash<br />
#<br />
# MySQL Backup Script<br />
# VER. 2.5 - <a href="http://sourceforge.net/projects/automysqlbackup/" rel="nofollow">http://sourceforge.net/projects/automysqlbackup/</a><br />
# Copyright (c) 2002-2003 <a href="mailto:wipe_out@lycos.co.uk">wipe_out@lycos.co.uk</a><br />
#<br />
# This program is free software; you can redistribute it and/or modify<br />
# it under the terms of the GNU General Public License as published by<br />
# the Free Software Foundation; either version 2 of the License, or<br />
# (at your option) any later version.<br />
#<br />
# This program is distributed in the hope that it will be useful,<br />
# but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br />
# GNU General Public License for more details.<br />
#<br />
# You should have received a copy of the GNU General Public License<br />
# along with this program; if not, write to the Free Software<br />
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA<br />
#<br />
#=====================================================================<br />
#=====================================================================<br />
# Set the following variables to your system needs<br />
# (Detailed instructions below variables)<br />
#=====================================================================</p>
<p># Username to access the MySQL server e.g. dbuser<br />
USERNAME=dbuser</p>
<p># Username to access the MySQL server e.g. password<br />
PASSWORD=password</p>
<p># Host name (or IP address) of MySQL server e.g localhost<br />
DBHOST=localhost</p>
<p># List of DBNAMES for Daily/Weekly Backup e.g. &#8220;DB1 DB2 DB3&#8243;<br />
DBNAMES=&#8221;DB1 DB2 DB3&#8243;</p>
<p># Backup directory location e.g /backups<br />
BACKUPDIR=&#8221;/backups&#8221;</p>
<p># Mail setup<br />
# What would you like to be mailed to you?<br />
# - log   : send only log file<br />
# - files : send log file and sql files as attachments (see docs)<br />
# - stdout : will simply output the log to the screen if run manually.<br />
# - quiet : Only send logs if an error occurs to the MAILADDR.<br />
MAILCONTENT=&#8221;stdout&#8221;</p>
<p># Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])<br />
MAXATTSIZE=&#8221;4000&#8243;</p>
<p># Email Address to send mail to? (user@domain.com)<br />
MAILADDR=&#8221;user@domain.com&#8221;</p>
<p># ============================================================<br />
# === ADVANCED OPTIONS ( Read the doc&#8217;s below for details )===<br />
#=============================================================</p>
<p># List of DBBNAMES for Monthly Backups.<br />
MDBNAMES=&#8221;mysql $DBNAMES&#8221;</p>
<p># List of DBNAMES to EXLUCDE if DBNAMES are set to all (must be in &#8221; quotes)<br />
DBEXCLUDE=&#8221;"</p>
<p># Include CREATE DATABASE in backup?<br />
CREATE_DATABASE=yes</p>
<p># Separate backup directory and file for each DB? (yes or no)<br />
SEPDIR=yes</p>
<p># Which day do you want weekly backups? (1 to 7 where 1 is Monday)<br />
DOWEEKLY=6</p>
<p># Choose Compression type. (gzip or bzip2)<br />
COMP=gzip</p>
<p># Compress communications between backup server and MySQL server?<br />
COMMCOMP=no</p>
<p># Additionally keep a copy of the most recent backup in a seperate directory.<br />
LATEST=no</p>
<p>#  The maximum size of the buffer for client/server communication. e.g. 16MB (maximum is 1GB)<br />
MAX_ALLOWED_PACKET=</p>
<p>#  For connections to localhost. Sometimes the Unix socket file must be specified.<br />
SOCKET=</p>
<p># Command to run before backups (uncomment to use)<br />
#PREBACKUP=&#8221;/etc/mysql-backup-pre&#8221;</p>
<p># Command run after backups (uncomment to use)<br />
#POSTBACKUP=&#8221;/etc/mysql-backup-post&#8221;</p>
<p>#=====================================================================<br />
# Options documantation<br />
#=====================================================================<br />
# Set USERNAME and PASSWORD of a user that has at least SELECT permission<br />
# to ALL databases.<br />
#<br />
# Set the DBHOST option to the server you wish to backup, leave the<br />
# default to backup &#8220;this server&#8221;.(to backup multiple servers make<br />
# copies of this file and set the options for that server)<br />
#<br />
# Put in the list of DBNAMES(Databases)to be backed up. If you would like<br />
# to backup ALL DBs on the server set DBNAMES=&#8221;all&#8221;.(if set to &#8220;all&#8221; then<br />
# any new DBs will automatically be backed up without needing to modify<br />
# this backup script when a new DB is created).<br />
#<br />
# If the DB you want to backup has a space in the name replace the space<br />
# with a % e.g. &#8220;data base&#8221; will become &#8220;data%base&#8221;<br />
# NOTE: Spaces in DB names may not work correctly when SEPDIR=no.<br />
#<br />
# You can change the backup storage location from /backups to anything<br />
# you like by using the BACKUPDIR setting..<br />
#<br />
# The MAILCONTENT and MAILADDR options and pretty self explanitory, use<br />
# these to have the backup log mailed to you at any email address or multiple<br />
# email addresses in a space seperated list.<br />
# (If you set mail content to &#8220;log&#8221; you will require access to the &#8220;mail&#8221; program<br />
# on your server. If you set this to &#8220;files&#8221; you will have to have mutt installed<br />
# on your server. If you set it to &#8220;stdout&#8221; it will log to the screen if run from<br />
# the console or to the cron job owner if run through cron. If you set it to &#8220;quiet&#8221;<br />
# logs will only be mailed if there are errors reported. )<br />
#<br />
# MAXATTSIZE sets the largest allowed email attachments total (all backup files) you<br />
# want the script to send. This is the size before it is encoded to be sent as an email<br />
# so if your mail server will allow a maximum mail size of 5MB I would suggest setting<br />
# MAXATTSIZE to be 25% smaller than that so a setting of 4000 would probably be fine.<br />
#<br />
# Finally copy automysqlbackup.sh to anywhere on your server and make sure<br />
# to set executable permission. You can also copy the script to<br />
# /etc/cron.daily to have it execute automatically every night or simply<br />
# place a symlink in /etc/cron.daily to the file if you wish to keep it<br />
# somwhere else.<br />
# NOTE:On Debian copy the file with no extention for it to be run<br />
# by cron e.g just name the file &#8220;automysqlbackup&#8221;<br />
#<br />
# Thats it..<br />
#<br />
#<br />
# === Advanced options doc&#8217;s ===<br />
#<br />
# The list of MDBNAMES is the DB&#8217;s to be backed up only monthly. You should<br />
# always include &#8220;mysql&#8221; in this list to backup your user/password<br />
# information along with any other DBs that you only feel need to<br />
# be backed up monthly. (if using a hosted server then you should<br />
# probably remove &#8220;mysql&#8221; as your provider will be backing this up)<br />
# NOTE: If DBNAMES=&#8221;all&#8221; then MDBNAMES has no effect as all DBs will be backed<br />
# up anyway.<br />
#<br />
# If you set DBNAMES=&#8221;all&#8221; you can configure the option DBEXCLUDE. Other<br />
# wise this option will not be used.<br />
# This option can be used if you want to backup all dbs, but you want<br />
# exclude some of them. (eg. a db is to big).<br />
#<br />
# Set CREATE_DATABASE to &#8220;yes&#8221; (the default) if you want your SQL-Dump to create<br />
# a database with the same name as the original database when restoring.<br />
# Saying &#8220;no&#8221; here will allow your to specify the database name you want to<br />
# restore your dump into, making a copy of the database by using the dump<br />
# created with automysqlbackup.<br />
# NOTE: Not used if SEPDIR=no<br />
#<br />
# The SEPDIR option allows you to choose to have all DBs backed up to<br />
# a single file (fast restore of entire server in case of crash) or to<br />
# seperate directories for each DB (each DB can be restored seperately<br />
# in case of single DB corruption or loss).<br />
#<br />
# To set the day of the week that you would like the weekly backup to happen<br />
# set the DOWEEKLY setting, this can be a value from 1 to 7 where 1 is Monday,<br />
# The default is 6 which means that weekly backups are done on a Saturday.<br />
#<br />
# COMP is used to choose the copmression used, options are gzip or bzip2.<br />
# bzip2 will produce slightly smaller files but is more processor intensive so<br />
# may take longer to complete.<br />
#<br />
# COMMCOMP is used to enable or diable mysql client to server compression, so<br />
# it is useful to save bandwidth when backing up a remote MySQL server over<br />
# the network.<br />
#<br />
# LATEST is to store an additional copy of the latest backup to a standard<br />
# location so it can be downloaded bt thrid party scripts.<br />
#<br />
# If the DB&#8217;s being backed up make use of large BLOB fields then you may need<br />
# to increase the MAX_ALLOWED_PACKET setting, for example 16MB..<br />
#<br />
# When connecting to localhost as the DB server (DBHOST=localhost) sometimes<br />
# the system can have issues locating the socket file.. This can now be set<br />
# using the SOCKET parameter.. An example may be SOCKET=/private/tmp/mysql.sock<br />
#<br />
# Use PREBACKUP and POSTBACKUP to specify Per and Post backup commands<br />
# or scripts to perform tasks either before or after the backup process.<br />
#<br />
#<br />
#=====================================================================<br />
# Backup Rotation..<br />
#=====================================================================<br />
#<br />
# Daily Backups are rotated weekly..<br />
# Weekly Backups are run by default on Saturday Morning when<br />
# cron.daily scripts are run&#8230;Can be changed with DOWEEKLY setting..<br />
# Weekly Backups are rotated on a 5 week cycle..<br />
# Monthly Backups are run on the 1st of the month..<br />
# Monthly Backups are NOT rotated automatically&#8230;<br />
# It may be a good idea to copy Monthly backups offline or to another<br />
# server..<br />
#<br />
#=====================================================================<br />
# Please Note!!<br />
#=====================================================================<br />
#<br />
# I take no resposibility for any data loss or corruption when using<br />
# this script..<br />
# This script will not help in the event of a hard drive crash. If a<br />
# copy of the backup has not be stored offline or on another PC..<br />
# You should copy your backups offline regularly for best protection.<br />
#<br />
# Happy backing up&#8230;<br />
#<br />
#=====================================================================<br />
# Restoring<br />
#=====================================================================<br />
# Firstly you will need to uncompress the backup file.<br />
# eg.<br />
# gunzip file.gz (or bunzip2 file.bz2)<br />
#<br />
# Next you will need to use the mysql client to restore the DB from the<br />
# sql file.<br />
# eg.<br />
# mysql &#8211;user=username &#8211;pass=password &#8211;host=dbserver database &#8221; in the above command because<br />
# you are piping the file.sql to mysql and not the other way around.<br />
#<br />
# Lets hope you never have to use this.. <img src='http://tablondetrabajo.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
#<br />
#=====================================================================<br />
# Change Log<br />
#=====================================================================<br />
#<br />
# VER 2.5 - (2006-01-15)<br />
#		Added support for setting MAXIMUM_PACKET_SIZE and SOCKET parameters (suggested by Yvo van Doorn)<br />
# VER 2.4 - (2006-01-23)<br />
#    Fixed bug where weekly backups were not being rotated. (Fix by wolf02)<br />
#    Added hour an min to backup filename for the case where backups are taken multiple<br />
#    times in a day. NOTE This is not complete support for mutiple executions of the script<br />
#    in a single day.<br />
#    Added MAILCONTENT=&#8221;quiet&#8221; option, see docs for details. (requested by snowsam)<br />
#    Updated path statment for compatibility with OSX.<br />
#    Added &#8220;LATEST&#8221; to additionally store the last backup to a standard location. (request by Grant29)<br />
# VER 2.3 - (2005-11-07)<br />
#    Better error handling and notification of errors (a long time coming)<br />
#    Compression on Backup server to MySQL server communications.<br />
# VER 2.2 - (2004-12-05)<br />
#    Changed from using depricated &#8220;-N&#8221; to &#8220;&#8211;skip-column-names&#8221;.<br />
#    Added ability to have compressed backup&#8217;s emailed out. (code from Thomas Heiserowski)<br />
#    Added maximum attachment size setting.<br />
# VER 2.1 - (2004-11-04)<br />
#    Fixed a bug in daily rotation when not using gzip compression. (Fix by Rob Rosenfeld)<br />
# VER 2.0 - (2004-07-28)<br />
#    Switched to using IO redirection instead of pipeing the output to the logfile.<br />
#    Added choice of compression of backups being gzip of bzip2.<br />
#    Switched to using functions to facilitate more functionality.<br />
#    Added option of either gzip or bzip2 compression.<br />
# VER 1.10 - (2004-07-17)<br />
#    Another fix for spaces in the paths (fix by Thomas von Eyben)<br />
#    Fixed bug when using PREBACKUP and POSTBACKUP commands containing many arguments.<br />
# VER 1.9 - (2004-05-25)<br />
#    Small bug fix to handle spaces in LOGFILE path which contains spaces (reported by Thomas von Eyben)<br />
#    Updated docs to mention that Log email can be sent to multiple email addresses.<br />
# VER 1.8 - (2004-05-01)<br />
#    Added option to make backups restorable to alternate database names<br />
#    meaning that a copy of the database can be created (Based on patch by Rene Hoffmann)<br />
#    Seperated options into standard and advanced.<br />
#    Removed &#8221; from single file dump DBMANES because it caused an error but<br />
#    this means that if DB&#8217;s have spaces in the name they will not dump when SEPDIR=no.<br />
#    Added -p option to mkdir commands to create multiple subdirs without error.<br />
#    Added disk usage and location to the bottom of the backup report.<br />
# VER 1.7 - (2004-04-22)<br />
#    Fixed an issue where weelky backups would only work correctly if server<br />
#    locale was set to English (issue reported by Tom Ingberg)<br />
#    used &#8220;eval&#8221; for &#8220;rm&#8221; commands to try and resolve rotation issues.<br />
#    Changed name of status log so multiple scripts can be run at the same time.<br />
# VER 1.6 - (2004-03-14)<br />
#   Added PREBACKUP and POSTBACKUP command functions. (patch by markpustjens)<br />
#   Added support for backing up DB&#8217;s with Spaces in the name.<br />
#   (patch by markpustjens)<br />
# VER 1.5 - (2004-02-24)<br />
#   Added the ability to exclude DB&#8217;s when the &#8220;all&#8221; option is used.<br />
#   (Patch by kampftitan)<br />
# VER 1.4 - (2004-02-02)<br />
#   Project moved to Sourceforge.net<br />
# VER 1.3 - (2003-09-25)<br />
#   Added support for backing up &#8220;all&#8221; databases on the server without<br />
#    having to list each one seperately in the configuration.<br />
#   Added DB restore instructions.<br />
# VER 1.2 - (2003-03-16)<br />
#   Added server name to the backup log so logs from multiple servers<br />
#   can be easily identified.<br />
# VER 1.1 - (2003-03-13)<br />
#   Small Bug fix in monthly report. (Thanks Stoyanski)<br />
#   Added option to email log to any email address. (Inspired by Stoyanski)<br />
#   Changed Standard file name to .sh extention.<br />
#   Option are set using yes and no rather than 1 or 0.<br />
# VER 1.0 - (2003-01-30)<br />
#   Added the ability to have all databases backup to a single dump<br />
#   file or seperate directory and file for each database.<br />
#   Output is better for log keeping.<br />
# VER 0.6 - (2003-01-22)<br />
#   Bug fix for daily directory (Added in VER 0.5) rotation.<br />
# VER 0.5 - (2003-01-20)<br />
#   Added &#8220;daily&#8221; directory for daily backups for neatness (suggestion by Jason)<br />
#   Added DBHOST option to allow backing up a remote server (Suggestion by Jason)<br />
#   Added &#8220;&#8211;quote-names&#8221; option to mysqldump command.<br />
#   Bug fix for handling the last and first of the year week rotation.<br />
# VER 0.4 - (2002-11-06)<br />
#   Added the abaility for the script to create its own directory structure.<br />
# VER 0.3 - (2002-10-01)<br />
#   Changed Naming of Weekly backups so they will show in order.<br />
# VER 0.2 - (2002-09-27)<br />
#   Corrected weekly rotation logic to handle weeks 0 - 10<br />
# VER 0.1 - (2002-09-21)<br />
#   Initial Release<br />
#<br />
#=====================================================================<br />
#=====================================================================<br />
#=====================================================================<br />
#<br />
# Should not need to be modified from here down!!<br />
#<br />
#=====================================================================<br />
#=====================================================================<br />
#=====================================================================<br />
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/mysql/bin<br />
DATE=`date +%Y-%m-%d_%Hh%Mm`				# Datestamp e.g 2002-09-21<br />
DOW=`date +%A`							# Day of the week e.g. Monday<br />
DNOW=`date +%u`						# Day number of the week 1 to 7 where 1 represents Monday<br />
DOM=`date +%d`							# Date of the Month e.g. 27<br />
M=`date +%B`							# Month e.g January<br />
W=`date +%V`							# Week Number e.g 37<br />
VER=2.5									# Version Number<br />
LOGFILE=$BACKUPDIR/$DBHOST-`date +%N`.log		# Logfile Name<br />
LOGERR=$BACKUPDIR/ERRORS_$DBHOST-`date +%N`.log		# Logfile Name<br />
BACKUPFILES=&#8221;"<br />
OPT=&#8221;&#8211;quote-names &#8211;opt&#8221;			# OPT string for use with mysqldump ( see man mysqldump )</p>
<p># Add &#8211;compress mysqldump option to $OPT<br />
if [ &#8220;$COMMCOMP&#8221; = &#8220;yes&#8221; ];<br />
	then<br />
		OPT=&#8221;$OPT &#8211;compress&#8221;<br />
	fi</p>
<p># Add &#8211;compress mysqldump option to $OPT<br />
if [ &#8220;$MAX_ALLOWED_PACKET&#8221; ];<br />
	then<br />
		OPT=&#8221;$OPT &#8211;max_allowed_packet=$MAX_ALLOWED_PACKET&#8221;<br />
	fi</p>
<p># Create required directories<br />
if [ ! -e &#8220;$BACKUPDIR&#8221; ]		# Check Backup Directory exists.<br />
	then<br />
	mkdir -p &#8220;$BACKUPDIR&#8221;<br />
fi</p>
<p>if [ ! -e &#8220;$BACKUPDIR/daily&#8221; ]		# Check Daily Directory exists.<br />
	then<br />
	mkdir -p &#8220;$BACKUPDIR/daily&#8221;<br />
fi</p>
<p>if [ ! -e &#8220;$BACKUPDIR/weekly&#8221; ]		# Check Weekly Directory exists.<br />
	then<br />
	mkdir -p &#8220;$BACKUPDIR/weekly&#8221;<br />
fi</p>
<p>if [ ! -e &#8220;$BACKUPDIR/monthly&#8221; ]	# Check Monthly Directory exists.<br />
	then<br />
	mkdir -p &#8220;$BACKUPDIR/monthly&#8221;<br />
fi</p>
<p>if [ &#8220;$LATEST&#8221; = &#8220;yes&#8221; ]<br />
then<br />
	if [ ! -e &#8220;$BACKUPDIR/latest&#8221; ]	# Check Latest Directory exists.<br />
	then<br />
		mkdir -p &#8220;$BACKUPDIR/latest&#8221;<br />
	fi<br />
eval rm -fv &#8220;$BACKUPDIR/latest/*&#8221;<br />
fi</p>
<p># IO redirection for logging.<br />
touch $LOGFILE<br />
exec 6&gt;&amp;1           # Link file descriptor #6 with stdout.<br />
                    # Saves stdout.<br />
exec &gt; $LOGFILE     # stdout replaced with file $LOGFILE.<br />
touch $LOGERR<br />
exec 7&gt;&amp;2           # Link file descriptor #7 with stderr.<br />
                    # Saves stderr.<br />
exec 2&gt; $LOGERR     # stderr replaced with file $LOGERR.</p>
<p># Functions</p>
<p># Database dump function<br />
dbdump () {<br />
mysqldump &#8211;user=$USERNAME &#8211;password=$PASSWORD &#8211;host=$DBHOST $OPT $1 &gt; $2<br />
return 0<br />
}</p>
<p># Compression function plus latest copy<br />
SUFFIX=&#8221;"<br />
compression () {<br />
if [ &#8220;$COMP&#8221; = &#8220;gzip&#8221; ]; then<br />
	gzip -f &#8220;$1&#8243;<br />
	echo<br />
	echo Backup Information for &#8220;$1&#8243;<br />
	gzip -l &#8220;$1.gz&#8221;<br />
	SUFFIX=&#8221;.gz&#8221;<br />
elif [ &#8220;$COMP&#8221; = &#8220;bzip2&#8243; ]; then<br />
	echo Compression information for &#8220;$1.bz2&#8243;<br />
	bzip2 -f -v $1 2&gt;&amp;1<br />
	SUFFIX=&#8221;.bz2&#8243;<br />
else<br />
	echo &#8220;No compression option set, check advanced settings&#8221;<br />
fi<br />
if [ &#8220;$LATEST&#8221; = &#8220;yes&#8221; ]; then<br />
	cp $1$SUFFIX &#8220;$BACKUPDIR/latest/&#8221;<br />
fi<br />
return 0<br />
}</p>
<p># Run command before we begin<br />
if [ &#8220;$PREBACKUP&#8221; ]<br />
	then<br />
	echo ======================================================================<br />
	echo &#8220;Prebackup command output.&#8221;<br />
	echo<br />
	eval $PREBACKUP<br />
	echo<br />
	echo ======================================================================<br />
	echo<br />
fi</p>
<p>if [ &#8220;$SEPDIR&#8221; = &#8220;yes&#8221; ]; then # Check if CREATE DATABSE should be included in Dump<br />
	if [ &#8220;$CREATE_DATABASE&#8221; = &#8220;no&#8221; ]; then<br />
		OPT=&#8221;$OPT &#8211;no-create-db&#8221;<br />
	else<br />
		OPT=&#8221;$OPT &#8211;databases&#8221;<br />
	fi<br />
else<br />
	OPT=&#8221;$OPT &#8211;databases&#8221;<br />
fi</p>
<p># Hostname for LOG information<br />
if [ &#8220;$DBHOST&#8221; = &#8220;localhost&#8221; ]; then<br />
	HOST=`hostname`<br />
	if [ &#8220;$SOCKET&#8221; ]; then<br />
		OPT=&#8221;$OPT &#8211;socket=$SOCKET&#8221;<br />
	fi<br />
else<br />
	HOST=$DBHOST<br />
fi</p>
<p># If backing up all DBs on the server<br />
if [ &#8220;$DBNAMES&#8221; = &#8220;all&#8221; ]; then<br />
        DBNAMES=&#8221;`mysql &#8211;user=$USERNAME &#8211;password=$PASSWORD &#8211;host=$DBHOST &#8211;batch &#8211;skip-column-names -e &#8220;show databases&#8221;| sed &#8217;s/ /%/g&#8217;`&#8221;</p>
<p>	# If DBs are excluded<br />
	for exclude in $DBEXCLUDE<br />
	do<br />
		DBNAMES=`echo $DBNAMES | sed &#8220;s/\b$exclude\b//g&#8221;`<br />
	done</p>
<p>        MDBNAMES=$DBNAMES<br />
fi</p>
<p>echo ======================================================================<br />
echo AutoMySQLBackup VER $VER<br />
echo <a href="http://sourceforge.net/projects/automysqlbackup/" rel="nofollow">http://sourceforge.net/projects/automysqlbackup/</a><br />
echo<br />
echo Backup of Database Server - $HOST<br />
echo ======================================================================</p>
<p># Test is seperate DB backups are required<br />
if [ &#8220;$SEPDIR&#8221; = &#8220;yes&#8221; ]; then<br />
echo Backup Start Time `date`<br />
echo ======================================================================<br />
	# Monthly Full Backup of all Databases<br />
	if [ $DOM = &#8220;01&#8243; ]; then<br />
		for MDB in $MDBNAMES<br />
		do</p>
<p>			 # Prepare $DB for using<br />
		        MDB=&#8221;`echo $MDB | sed &#8217;s/%/ /g&#8217;`&#8221;</p>
<p>			if [ ! -e &#8220;$BACKUPDIR/monthly/$MDB&#8221; ]		# Check Monthly DB Directory exists.<br />
			then<br />
				mkdir -p &#8220;$BACKUPDIR/monthly/$MDB&#8221;<br />
			fi<br />
			echo Monthly Backup of $MDB&#8230;<br />
				dbdump &#8220;$MDB&#8221; &#8220;$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql&#8221;<br />
				compression &#8220;$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql&#8221;<br />
				BACKUPFILES=&#8221;$BACKUPFILES $BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql$SUFFIX&#8221;<br />
			echo &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
		done<br />
	fi</p>
<p>	for DB in $DBNAMES<br />
	do<br />
	# Prepare $DB for using<br />
	DB=&#8221;`echo $DB | sed &#8217;s/%/ /g&#8217;`&#8221;</p>
<p>	# Create Seperate directory for each DB<br />
	if [ ! -e &#8220;$BACKUPDIR/daily/$DB&#8221; ]		# Check Daily DB Directory exists.<br />
		then<br />
		mkdir -p &#8220;$BACKUPDIR/daily/$DB&#8221;<br />
	fi</p>
<p>	if [ ! -e &#8220;$BACKUPDIR/weekly/$DB&#8221; ]		# Check Weekly DB Directory exists.<br />
		then<br />
		mkdir -p &#8220;$BACKUPDIR/weekly/$DB&#8221;<br />
	fi</p>
<p>	# Weekly Backup<br />
	if [ $DNOW = $DOWEEKLY ]; then<br />
		echo Weekly Backup of Database \( $DB \)<br />
		echo Rotating 5 weeks Backups&#8230;<br />
			if [ &#8220;$W&#8221; -le 05 ];then<br />
				REMW=`expr 48 + $W`<br />
			elif [ &#8220;$W&#8221; -lt 15 ];then<br />
				REMW=0`expr $W - 5`<br />
			else<br />
				REMW=`expr $W - 5`<br />
			fi<br />
		eval rm -fv &#8220;$BACKUPDIR/weekly/$DB_week.$REMW.*&#8221;<br />
		echo<br />
			dbdump &#8220;$DB&#8221; &#8220;$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.sql&#8221;<br />
			compression &#8220;$BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.sql&#8221;<br />
			BACKUPFILES=&#8221;$BACKUPFILES $BACKUPDIR/weekly/$DB/${DB}_week.$W.$DATE.sql$SUFFIX&#8221;<br />
		echo &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>	# Daily Backup<br />
	else<br />
		echo Daily Backup of Database \( $DB \)<br />
		echo Rotating last weeks Backup&#8230;<br />
		eval rm -fv &#8220;$BACKUPDIR/daily/$DB/*.$DOW.sql.*&#8221;<br />
		echo<br />
			dbdump &#8220;$DB&#8221; &#8220;$BACKUPDIR/daily/$DB/${DB}_$DATE.$DOW.sql&#8221;<br />
			compression &#8220;$BACKUPDIR/daily/$DB/${DB}_$DATE.$DOW.sql&#8221;<br />
			BACKUPFILES=&#8221;$BACKUPFILES $BACKUPDIR/daily/$DB/${DB}_$DATE.$DOW.sql$SUFFIX&#8221;<br />
		echo &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	fi<br />
	done<br />
echo Backup End `date`<br />
echo ======================================================================</p>
<p>else # One backup file for all DBs<br />
echo Backup Start `date`<br />
echo ======================================================================<br />
	# Monthly Full Backup of all Databases<br />
	if [ $DOM = &#8220;01&#8243; ]; then<br />
		echo Monthly full Backup of \( $MDBNAMES \)&#8230;<br />
			dbdump &#8220;$MDBNAMES&#8221; &#8220;$BACKUPDIR/monthly/$DATE.$M.all-databases.sql&#8221;<br />
			compression &#8220;$BACKUPDIR/monthly/$DATE.$M.all-databases.sql&#8221;<br />
			BACKUPFILES=&#8221;$BACKUPFILES $BACKUPDIR/monthly/$DATE.$M.all-databases.sql$SUFFIX&#8221;<br />
		echo &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	fi</p>
<p>	# Weekly Backup<br />
	if [ $DNOW = $DOWEEKLY ]; then<br />
		echo Weekly Backup of Databases \( $DBNAMES \)<br />
		echo<br />
		echo Rotating 5 weeks Backups&#8230;<br />
			if [ &#8220;$W&#8221; -le 05 ];then<br />
				REMW=`expr 48 + $W`<br />
			elif [ &#8220;$W&#8221; -lt 15 ];then<br />
				REMW=0`expr $W - 5`<br />
			else<br />
				REMW=`expr $W - 5`<br />
			fi<br />
		eval rm -fv &#8220;$BACKUPDIR/weekly/week.$REMW.*&#8221;<br />
		echo<br />
			dbdump &#8220;$DBNAMES&#8221; &#8220;$BACKUPDIR/weekly/week.$W.$DATE.sql&#8221;<br />
			compression &#8220;$BACKUPDIR/weekly/week.$W.$DATE.sql&#8221;<br />
			BACKUPFILES=&#8221;$BACKUPFILES $BACKUPDIR/weekly/week.$W.$DATE.sql$SUFFIX&#8221;<br />
		echo &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>	# Daily Backup<br />
	else<br />
		echo Daily Backup of Databases \( $DBNAMES \)<br />
		echo<br />
		echo Rotating last weeks Backup&#8230;<br />
		eval rm -fv &#8220;$BACKUPDIR/daily/*.$DOW.sql.*&#8221;<br />
		echo<br />
			dbdump &#8220;$DBNAMES&#8221; &#8220;$BACKUPDIR/daily/$DATE.$DOW.sql&#8221;<br />
			compression &#8220;$BACKUPDIR/daily/$DATE.$DOW.sql&#8221;<br />
			BACKUPFILES=&#8221;$BACKUPFILES $BACKUPDIR/daily/$DATE.$DOW.sql$SUFFIX&#8221;<br />
		echo &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	fi<br />
echo Backup End Time `date`<br />
echo ======================================================================<br />
fi<br />
echo Total disk space used for backup storage..<br />
echo Size - Location<br />
echo `du -hs &#8220;$BACKUPDIR&#8221;`<br />
echo<br />
echo ======================================================================<br />
echo If you find AutoMySQLBackup valuable please make a donation at<br />
echo <a href="http://sourceforge.net/project/project_donations.php?group_id=101066" rel="nofollow">http://sourceforge.net/project/project_donations.php?group_id=101066</a><br />
echo ======================================================================</p>
<p># Run command when we&#8217;re done<br />
if [ &#8220;$POSTBACKUP&#8221; ]<br />
	then<br />
	echo ======================================================================<br />
	echo &#8220;Postbackup command output.&#8221;<br />
	echo<br />
	eval $POSTBACKUP<br />
	echo<br />
	echo ======================================================================<br />
fi</p>
<p>#Clean up IO redirection<br />
exec 1&gt;&amp;6 6&gt;&amp;-      # Restore stdout and close file descriptor #6.<br />
exec 1&gt;&amp;7 7&gt;&amp;-      # Restore stdout and close file descriptor #7.</p>
<p>if [ &#8220;$MAILCONTENT&#8221; = &#8220;files&#8221; ]<br />
then<br />
	if [ -s &#8220;$LOGERR&#8221; ]<br />
	then<br />
		# Include error log if is larger than zero.<br />
		BACKUPFILES=&#8221;$BACKUPFILES $LOGERR&#8221;<br />
		ERRORNOTE=&#8221;WARNING: Error Reported - &#8221;<br />
	fi<br />
	#Get backup size<br />
	ATTSIZE=`du -c $BACKUPFILES | grep &#8220;[[:digit:][:space:]]total$&#8221; |sed s/\s*total//`<br />
	if [ $MAXATTSIZE -ge $ATTSIZE ]<br />
	then<br />
		BACKUPFILES=`echo &#8220;$BACKUPFILES&#8221; | sed -e &#8220;s# # -a #g&#8221;`	#enable multiple attachments<br />
		mutt -s &#8220;$ERRORNOTE MySQL Backup Log and SQL Files for $HOST - $DATE&#8221; $BACKUPFILES $MAILADDR</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: thrass</title>
		<link>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-476</link>
		<dc:creator>thrass</dc:creator>
		<pubDate>Tue, 17 Apr 2007 16:37:23 +0000</pubDate>
		<guid>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-476</guid>
		<description>Compadre muy funcional este script... yo lo probe respaldando datos y me incluia hasta 11.000 lineas en la BD, lastima que no supera ese numeri, pero me ahorro un chorrote de tiempo...</description>
		<content:encoded><![CDATA[<p>Compadre muy funcional este script&#8230; yo lo probe respaldando datos y me incluia hasta 11.000 lineas en la BD, lastima que no supera ese numeri, pero me ahorro un chorrote de tiempo&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ely</title>
		<link>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-464</link>
		<dc:creator>ely</dc:creator>
		<pubDate>Wed, 11 Apr 2007 14:32:33 +0000</pubDate>
		<guid>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-464</guid>
		<description>hola el script es muy bueno, pero quisiera saber si no tienes otro dond se pueda hacer el caso inverso, es decir, en vez de importar exportar una BD a un CSV y q luego ese archivo sea guardado en el cliente....???</description>
		<content:encoded><![CDATA[<p>hola el script es muy bueno, pero quisiera saber si no tienes otro dond se pueda hacer el caso inverso, es decir, en vez de importar exportar una BD a un CSV y q luego ese archivo sea guardado en el cliente&#8230;.???</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lucía</title>
		<link>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-307</link>
		<dc:creator>Lucía</dc:creator>
		<pubDate>Fri, 16 Mar 2007 16:35:30 +0000</pubDate>
		<guid>http://tablondetrabajo.com/blog/como-importar-datos-de-csv-a-mysql-en-php/#comment-307</guid>
		<description>Hola, gracias por el script funciona muy bien y es super sencillo de usar, con esto me ahorro mucho tiempo para pasar los datos de .csv a mysql.</description>
		<content:encoded><![CDATA[<p>Hola, gracias por el script funciona muy bien y es super sencillo de usar, con esto me ahorro mucho tiempo para pasar los datos de .csv a mysql.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
