Assuming you are a superuser, create a new database:
[code]mysqladmin -p create db_name[/code]
[code]mysql -p db_name < db_name.sql[/code]
Dump the db:
[code]mysqldump -p --opt db_name > db_name.sql[/code]
Here’s a script called db_backup (make the file executable with chmod a+x filename):
# dumb the dbs
mysqldump -u$db_user -p$db_pass --opt asterisk > $path/asterisk.sql
mysqldump -u$db_user -p$db_pass --opt gallery2 > $path/gallery2.sql
mysqldump -u$db_user -p$db_pass --opt wordpress > $path/wordpress.sql
# create an archive, cleanup
tar -P -zcf $path/$filename $path/*.sql
rm -f $path/*.sql
Edit the crontab with crontab -e and add the following line (which runs every day at 11 pm and logs to the file specified):
0 23 * * * /backup/db_backup.sh >> /var/log/db_backup.log
Alternately you can backup all databases with one command:
mysqldump --all-databases -p > mysqlbackup.sql
Or backup the database files directly from /var/lib/mysql/. You don’t have to be a guru to administer your databases (though some knowledge of relational databases & SQL definitely helps). PHPMyAdmin is a handy tool that you should setup if you haven’t already.
Ben has been associated with a broad spectrum of technologies starting from an early age, and he's contributed to the success of many businesses and enterprises since 2001.
Most of his time is spent building cool stuff. When he's not working, he enjoys reading, playing acoustic guitar, and being with friends.
He currently resides in Chiang Mai, Thailand.