Files Backuper is a application designed to automate the process of backing up and synchronizing files from multiple servers. With specific configurations, it facilitates seamless backup creation, storage management, and restoration processes via SFTP and SSH.
- Automated Backups: Schedule backups according to a specified time interval.
- Flexible Configuration: Easily configure servers and paths to back up through YAML files.
- Multi-Server Support: Handle backups from multiple servers with ease.
- Change Detection: Automatically detect changes in files and create incremental backups.
- Restoration: Simple and efficient restoration process using the latest backups.
Clone the repository and build the application using Go:
git clone https://github.com/hightemp/files_backuper.gitcd files_backupergo build -o files_backuper
The application uses a YAML configuration file defining servers, settings, and backup configurations. Below is an example configuration:
# Config.yamlServers: -Name:example-serverType:sshHost:your.server.comPort:22User:your_userPassword:your_password# If using password authenticationIdentityFile:/path/to/private/key# If using key-based authenticationSettings:BackupSaveFolder:/path/to/local/backup/folderCheckChangesTimeout:10mMaxBackupsCount:5BackupsDatabase:/path/to/database.yamlBackupsConfigs: -Name:daily-backupServer:example-serverPath:/remote/path/to/backup
Run the application with the desired flags:
./files_backuper -config ./config.yaml -run_as_service
-config
: Path to the YAML configuration file.-run_as_service
: Run the application as a service, continuously checking and creating backups.-backup_server
: Force a backup for a specific server by name.-backup
: Force a specific backup by name.-upload_latest_backup
: Upload the latest backup for a specified backup configuration.-upload_latest_server_backup
: Upload the latest backup for a specified server by name.
MIT License
