Docker Backups

A bash script that will stop all running containers. Create a .tar.gz files of those stopped containers then upload them to a specified save location.
After the containers are successfully saved, it will proceed to restart them.
The script will log each step of the process including the time it takes for the script to execute.

## Prerequisites You will need to change `[USERNAME]` to the one you use on your server. You will find this in **(3)** parts of the script. ## Folder Structure If you have not done so already, create a new folder called `scripts` in your **~home** folder. This is where all your scripts will go. Inside your `scripts` folder create a new folder called `backups` When done your folders structure should look like this: `/home/[username]/scripts/backups` ## Script Get the source code from this repo and save it as `docker_backups.sh` in the **backups** folder created in the previous step. Next we need to change the permissions of this file so that the server can read it. 1. Right click on `docker_backups.sh` then Properties. 2. Click on `Permissions` tab at top. 3. Make sure Owner & Group reflect your `username` with `Read and Write` access to all. 4. Check the `Execute` box to allow executing the file as a program. 5. Close out the window. ## Run Now we need to test and run the script. * Make sure your terminal is open to the location of the `docker_backups.sh` file. Should be `~/scripts/backups` * Run the script: ```bash bash docker_backups.sh ``` The script should be running and should be printing to the terminal what step its on. This process will take a few minutes or so depending on how many running containers you have. ## Automation

The script has to be automated so that you will have current backups incase you need them. This can be automated using Linux Mint's built in Crontab system to create a cron job. Crontab is managed with the terminal and does not have a GUI.

I have not found a good GUI option for crontab as of yet however, I have found and use an application called Cronicle. Cronicle is task scheduler that functions like Crontab but only with a GUI.