Backup to FTP Remote Server
To store your backups on an FTP remote server, you can configure the backup process to use the --storage ftp option.
This section explains how to set up and configure FTP-based backups.
Configuration Steps
-
Specify the Storage Type
Add the--storage ftpflag to your backup command. -
Set the Remote Path
Define the full remote path where backups will be stored using the--pathflag or theREMOTE_PATHenvironment variable.
Example:--path /home/jkaninda/backups. -
Required Environment Variables
The following environment variables are mandatory for FTP-based backups:FTP_HOST: The hostname or IP address of the FTP server.FTP_PORT: The FTP port (default is21).FTP_USER: The username for FTP authentication.FTP_PASSWORD: The password for FTP authentication.REMOTE_PATH: The directory on the FTP server where backups will be stored.
Example Configuration
Below is an example docker-compose.yml configuration for backing up to an FTP remote server:
services:
mysql-bkup:
# In production, lock your image tag to a specific release version
# instead of using `latest`. Check https://github.com/jkaninda/mysql-bkup/releases
# for available releases.
image: jkaninda/mysql-bkup
container_name: mysql-bkup
command: backup --storage ftp -d database
environment:
- DB_PORT=3306
- DB_HOST=mysql
- DB_NAME=database
- DB_USERNAME=username
- DB_PASSWORD=password
## FTP Configuration
- FTP_HOST="hostname"
- FTP_PORT=21
- FTP_USER=user
- FTP_PASSWORD=password
- REMOTE_PATH=/home/jkaninda/backups
# Ensure the mysql-bkup container is connected to the same network as your database
networks:
- web
networks:
web:
Key Notes
- Security: FTP transmits data, including passwords, in plaintext. For better security, consider using SFTP (SSH File Transfer Protocol) or FTPS (FTP Secure) if supported by your server.
- Remote Path: Ensure the
REMOTE_PATHdirectory exists on the FTP server and is writable by the specifiedFTP_USER.