Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vinugawade/ms-bkp

Bash script to backup all mysql databases as separate compressed files.
https://github.com/vinugawade/ms-bkp

bash bash-script cli command-line-tool database export github linux macos mysql mysql-database open-source opensource shell shell-scripts sql utility windows

Last synced: about 23 hours ago
JSON representation

Bash script to backup all mysql databases as separate compressed files.

Awesome Lists containing this project

README

        

# MySQL Database Backup Script 🗄️

![Linux](https://img.shields.io/badge/Linux-white?style=flat-square&logo=linux&logoColor=black)
![MacOS](https://img.shields.io/badge/MacOS-white?style=flat-square&logo=apple&logoColor=black)
![Windows](https://img.shields.io/badge/Windows-white?style=flat-square&logo=windows&logoColor=black)
![Windows](https://img.shields.io/badge/Bash-white?style=flat-square&logo=gnu-bash&logoColor=black)

![GitHub issues](https://img.shields.io/github/issues/vinugawade/ms-bkp?style=flat-square)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/vinugawade/ms-bkp?style=flat-square)
![GitHub last commit](https://img.shields.io/github/last-commit/vinugawade/ms-bkp?style=flat-square)

If you need to backup MySQL databases on a **Linux / MacOS / Windows** system, the `ms-bkp` script provides an easy-to-use solution. It allows you to export databases, skip specific ones, and set the destination path for the backup.

---

## Installation 🚀

1. **Clone the Repository:**
- Clone the [ms-bkp](https://github.com/vinugawade/ms-bkp) repository to your local machine using the following command:

```bash
git clone https://github.com/vinugawade/ms-bkp.git
```

2. **Move the Script to a Global Location:**
- Move the script to a global location on your system using the following command:

```bash
sudo mv /location/of/ms-bkp /usr/local/bin
```

3. **Set Script Permissions:**
- Allow everyone to execute the script by choosing one of the following commands:

```bash
sudo chmod +x /location/of/ms-bkp
```

OR

```bash
sudo chmod 0755 /location/of/ms-bkp
```

4. **Add to $PATH:**
- Add `/usr/local/bin` to your `$PATH`. If you use the Bash shell, execute the command:

```bash
export PATH=$PATH:/usr/local/bin
```

OR

```bash
export PATH=$PATH:/location/of/ms-bkp
```

This will set the variable name, potentially in a file like `~/.bash_profile`, `~/.bashrc`, or `~/.profile`. If you're unsure where to put it, `~/.bashrc` is a good choice.

> **You may need to restart your shell for this to take effect.**

---

## Script Options 🎛️

The `ms-bkp` script supports the following options:

- `-u, --user`: MySQL username
- `-p, --password`: MySQL password
- `-o, --only`: Export only the specified database
- `-s, --skip`: Skip specified databases during export (comma-separated)
- `-d, --dest`: Destination path for the backup (default: ~/Downloads)

---

## Usage 🛠️

Now you can use the script from anywhere in the terminal. Below are some examples.

```bash
ms-bkp -u your_mysql_user -p your_mysql_password -o your_database_name
```

```bash
ms-bkp -u your_mysql_user -p your_mysql_password -s db1,db2,db3 -d /path/to/backup
```

Check below attached GIF.

![Run ms-bkp script](images/feature.gif)

---

## Maintainer 👨🏻‍💻


Vinay Gawade's Dev Card

Built With 💙✨ By Vinay Gawade.


LinkedIn Logo


Buy Me a Coffee Logo


Twitter Logo

---

## License 🛂

![LICENSE](https://img.shields.io/github/license/vinugawade/ms-bkp?style=flat-square)

This project is licensed under the [LICENSE](https://github.com/vinugawade/ms-bkp/blob/master/LICENSE) file associated with this repository.