Skip to main content

Bash script backup MySql database

As we all know, databases is one of the most important thing you need to backup before you want to upgrade, move to new server or before you want to do a task but do not really sure about the impact. I have written a article about the command line to MySql database - How to Backup and Restore. In this article, I will show you a little bash script backup MySql database at regular intervals and deleting backups which older than 15 days from current.
This Bash script backup MySql will contain your database information so please make sure you set the right permissions, more over please don’t place the backup folder in public_html folder othervise other people will be able to see the content of your database.

Implement Bash script backup MySql database

#!/bin/bash

# Database information
user="db_username"
password="your_db_password"
host="your_host"
db_name="your_db_name"
The line at the top is the shebang and is used to select the interpreter. Others are the database credentials. In next step we will define the derectory to store the backup files also the date
# Other options
backup_path="/path/to/your/home/_backup/mysql"
date=$(date +"%d-%b-%Y")
Next step, we will create the main backup script to make sql file gzip format and set the permission
# Set default file permissions
umask 177
# Dump database into SQL file
mysqldump --user=$user --password=$password --host=$host $db_name | gzip > $backup_path/$db_name-backup-$date.sql
The last step is to delete files older than 15 days, for this we will use the find utility. First we pass the path to the directory that contains the .sql files and use a wildcard to select all. Then we need to set 2 options, the first is mtime which we use to select files that are older than a given amount of days. The next option exec allows us pass the files that are found into another utility, which I will use rm to delete the files. The last few characters are to end the line.
#Delete files older than 15 days
find $backup_path/* -mtime +15 -exec rm -f {} \;
Finally, I will gather all path of script below:
#!/bin/bash

# Database credentials
user="db_username"
password="your_db_password"
host="your_host"
db_name="your_db_name"

# Other options
backup_path="/path/to/your/backup/folder"
date=$(date +"%d-%b-%Y")

#set Default file permission
umask 177

# Dump database into SQL file
mysqldump --user=$user --password=$password --host=$host $db_name | gzip > $backup_path/$db_name-bak-$date.sql.gz

#Delete files older than 15 days
find $backup_path/* -mtime +15 -exec rm -f {} \;
That’s, you can run this script manually or create a cron job to schedule the time this bash script backup mysql database will be execute. We hope that this article is helpful for you.

Comments

Popular posts from this blog

October CMS E-Commerce Tutorial: GoT White Walkers Protection Store

As many of you probably know, Game of Thrones Season 6 is starting next April 24th. Now I recently introduced myself on this blog , but forgot to mention that I'm, like millions of others, a shameless GoT fan . When our content guy asked me to craft a post showing how the easy e-commerce integration we brag about would work with October CMS, I immediately picked GoT as a theme for the demo. ​ So in this post, I'm going to show you how to set up a store selling defense against the imminent White Walkers invasion. Because WINTER IS COMING big time, you know. ​ ​ More specifically, I'll provide a step-by-step e-commerce tutorial explaining how to integrate our shopping cart platform to an October CMS site. Let's get into it. ​ What is October CMS ​ We've been hearing about October CMS from developers here and there for a while now. This free, open-source CMS platform is the brainchild of fellow Canadian Alexey Bobkov and Australian Samuel Georges. It...

Creating a Custom Page in OpenCart

Creating a Custom Page in OpenCart by MarketInSG » Tue Apr 17, 2012 6:59 am I noticed a lot of users are searching for help on this topic, so here's a short tutorial for all of you. What you need: - Basic PHP knowledge - Basic HTML knowledge - Text Editor Required files to create a custom page: - Controller file - Template file Optional files: - Model file - Language file (I will be using it in this example here) Controller file Create a file name 'static.php' in /catalog/controller/information/ code inside the file (php) <?php class ControllerInformationStatic extends Controller {    private $error = array();            public function index() {       $this->language->load('information/static'); //Optional. This calls for your language file        $this->document->setTitle($this->language->get('heading_title')); //Optional. Set the title of your web page.   ...

Paypal In Pakistan Payoneer-Verified

Since there are a huge number of online organizations which just acknowledge Paypal as installment passage. Thusly I am going to demonstrate to you how you can make Paypal record in Pakistan and in what manner would you be able to check it ! It is an unlawful trap however you can utilize it for crisis purposes. Instructions to make and confirm Paypal record in Pakistan  Simply take after the regulated guide underneath to get your Verified Paypal Account. You will additionally get Virtual Bank Account in USA and  1 Master  Debit Card free of charge You will have the capacity to utilize that check card to cashout your trusts through Paypal from any ATM Machine. Go to  Paypal,  Sign up and Choose your nation as United States of America. Use  Fake USA Address,  But other all data ought to be 100% right. When you information exchange, confirm your email and login to your Paypal record. Presently you have your Paypal record, now is the rig...