Andy Jarrett // Code. Develop. Manage.

backup and zip all mysql databases shell script

This isn't rocket science but probably something good to share for anyone making the move to Linux for web hosting. Below is a quick script that I run daily to back up all MySQL DB's which then have placed somewhere safe.

Open Nano/Vi/Gedit and create a file called mysql_backup.sh then add the following lines:

#!/bin/bashcd /tmp/echo "creating mysqldump in /tmp/all-database.sql"mysqldump -u YOUR_USERNAME -pYOUR_PASSWORD --all-databases > all-database.sqlecho "Next we tar/zip the file"tar cvf db_dump.tar all-database.sqlecho "All done!"

At the moment this is just a text file which cannot be executed via the terminal, so to fix this run the following:

chmod 755 mysql_backup.sh

Then you can run this as any normal shell script

./mysql_backup.sh

There is a lot more you can do with this like moving the file to another location, delete the dump behind you etc, but this should give you a good starting ground.


I’m here, learning and working away. If you liked this content and want to keep me going, consider buying me a coffee.
Your support keeps this site running and the coffee brewing! ☕️