20 Open-source FTP File Sync and FTP Back Tools
FTP file Sync and FTP Back Tools are software tools that enable users to synchronize and back up files using the FTP (File Transfer Protocol) protocol. With these tools, users can easily transfer files between a local computer and a remote server, ensuring that the files are kept up-to-date and backed up for safekeeping.
In this post you can find the best open-source FTP file backup and file sync tools that you can download and use totally for free.
1- GoBackup
GoBackup is a full-stack backup tool design for application servers, to back up your databases, files to cloud storage (Local disk, FTP, SCP, S3, GCS, Aliyun OSS ...).
You can write a config file, run gobackup perform
command by once to dump database as file, archive config files, and then package them into a single file.
It's allow you to store the backup file to local, FTP, SCP, S3 or other cloud storage.
Features
- No dependencies.
- Multiple Databases source support.
- Multiple Storage type support.
- Archive paths or files into a tar.
- Split a large backup file into multiple parts.
- Run as daemon to back up in scheduled.
- Web UI to manage backups.
Supported databases
- MySQL
- PostgreSQL
- Redis -
mode: sync/copy
- MongoDB
- SQLite
- Microsoft SQL Server
Storages
- Local
- FTP
- SFTP
- SCP - Upload via SSH copy
- Amazon S3
- Aliyun OSS
- Google Cloud Storage
- Azure Blob Storage
- Backblaze B2 Cloud Storage
- Cloudflare R2
- DigitalOcean Spaces
- QCloud COS
- UCloud US3
- Qiniu Kodo
- Baidu BOS
- MinIO
- Huawei OBS
- Volcengine TOS
- UpYun
- WebDAV
2- FTPbox
FTPbox allows you to sync your files with your own server using FTP.
Features
- Connect using FTP, SFTP or FTPS
- Share your files with direct links to them.
- Manage your files in-browser with the Web Interface
- Manage specific files/folders with the Context Menus
- Selective Sync
- Manual or Automatic synchronizing
- Bandwidth control
- Multiple Profiles
- Offline Mode
3- mirror-dir
This is a Java console application that mirrors a local directory to an FTP server. Basically, once the application is connected to an FTP server, it starts to copy files and subdirectories from your local directory to the FTP server recursively.
If the file already exists, mirror-dir verify if it was locally modified, comparing the "last modified" property of the files. It uses Threads to run this in a loop.
4- ftpbackup
ftpbackup allows backing up all files from an FTP server locally or even on another ftp server. If no destination is specified, ftpbackup tries to save in the current directory.
When storing, ftpbackup stores all downloaded files below YYYYMMDD/ servername, so you can create a nice little hierachical storage. For each servername, ftpbackup keeps track of a default of 3 backups, removing old backups if necessary. If you want to keep more than 3 backup-version, look at the --keep option.
Additionally ftpbackup can try to hardlink each backup with the previous version similar to how rsync does it (in fact, it uses rsync for hardlinking the data).
ftpbackup can also encrypt each downloaded file using "gpg --symmetric". If no username/password is specified, ftpbackup will try to authenticat using anonymous logins (this means username=anonymous, [email protected]).
5- FTP-Bash-Backup
This is a bash script that backups a directory and then uploads it to an external FTP server. This script has been tested on Debian and Ubuntu.
6- Synology FTP Backup Script
With this script it is possible to create an FTP backup of a web server and archive it directly on the Synology NAS.
7- LiveSync
FTP Livesync is a free and open-source app that allows to edit server side scripts on the fly by modifying its local copy.
Basically it's a ftp client which can monitor changes in filesystem and upload modified file to a remote server.
8- FullSync
FullSync is a powerful tool that helps you keep multiple copies of various data in sync. I.e. it can update your Website using (S)Ftp, backup your data or refresh a working copy from a remote server.
It offers flexible rules, a scheduler and more.
9- FTP Synchronizer
FTP Synchronizer is an application can synchronize your local directory with remote directory by FTP protocol.
10- FreeFileSync
FreeFileSync is a free Open Source software that helps you synchronize files and synchronize folders for Windows, Linux and macOS. It is designed to save you time setting up and running data backups while having nice visual feedback along the way.
Features
- Download and use for free... (but you may donate to support)
- No ads in the installer or application
- Synchronize folders on network shares and local drives
- Synchronize mobile devices via MTP (Android, iPhone, tablet, digital camera)
- Synchronize with Google Drive cloud storage
- Free FTP client: Synchronize via FTP (File Transfer Protocol) and FTPS (SSL/TLS)
- Access files online using SFTP (SSH File Transfer Protocol)
- Detect moved and renamed files and folders
- Get sync results as an email notification
- Manage versions and keep a history of deleted/updated files
- Compare and synchronize multiple files in parallel
- Show drive space usage as a directory tree
- Copy locked files (Volume Shadow Copy Service)
- Detect conflicts and propagate deletions
- Compare files by content
- Configure handling of Symbolic Links
- Automate sync as a batch job
- Process multiple folder pairs
- Comprehensive and detailed error reporting
- Copy NTFS extended attributes (compressed, encrypted, sparse)
- Copy NTFS security permissions
- Copy NTFS Alternate Data Streams
- Copy HFS+ extended attributes and ACLs
- Support long file paths with more than 260 characters
- Fail-safe file copy prevents data corruption
- Cross-platform: Runs on Windows, Linux, macOS
- Use macros %time%, %date%, et al. for recurring backups
- Expand environment variables like %UserProfile%
- Access variable drive letters by volume name (USB sticks)
- Native 64-bit support
- Prevent disc space bottlenecks via optimal sync sequence
- Full Unicode support
- Highly optimized run time performance
- Include and exclude files via filter
- FreeFileSync portable and local installation available
- Handle daylight saving time changes on FAT/FAT32
- Case-sensitive synchronization
- Serialize multiple users accessing the same (network) folder via folder locking
- Fully localized user interface available in 30+ languages
11- FTP Sync
The class is made to work as an alternative to rsync when FTP is only available. The class use FTP to do synchronization to the target FTP host.
It only copies the new and modified files after last run of the script.
You can specify exclude list to the class and any directories or files in this list will be ignored from synchronization.
12- FTP2MFS
Syncs folders into IPFS's mutable file system (the directory structure accessible through ipfs files). Despite the name, FTP2MFS is capable of reading from FTP, HTTP directory listings, rsyncd, and the local filesystem.
Beware: ftp2mfs can be used to easily mirror several 100 GB in a few hours, and keep them in sync with upstream and on the local IPFS node. IPFS is not necessarily able to keep that much content available to the network from one node, see hyperprov for an explanation and a solution.
Features
- All source types have their advantages and drawbacks
- Efficient sync with full metadata
- Proper standardized protocol for listing directories and transferring files
- FTPs not supported (it is supported by the underlying library and would be easy to implement)
- Support may be added for parsing some of the most common human directory listing formats
- It might be nice to parse modification dates and file sizes from HTML directory listings
13- Android Data Backup using FTP
AndroidFTP-DataBackup is used to back up files from android phone to Laptop/ PC using an FTP Server hosted on the phone.
14- Self-Healing Ind. File Transfer (Shift)
Shift is a lightweight framework for high performance local and remote file transfers that provides resiliency across a wide variety of failure scenarios through various techniques.
These include end-to-end integrity via cryptographic hashes, throttling of transfers to prevent resource exhaustion, balancing transfers across resources based on load and availability, and parallelization of transfers across multiple source and destination hosts for increased redundancy and performance.
15- ZimmerSCP
This program is a GUI based SCP (Secure CoPy) client. It utilizes three windows for three file systems, allowing files to be copied between them, as well as files in each to be deleted, edited, or renamed either independently, or remote files in sync with each other.
16- PHPmultiFileSync
This package addresses multiple tasks that are partly solved in diverse existing solutions. There are heaps of syncing options.
Features
- File sync of multiple sources (2-way, 3-way, 4-way, ... )
- propagating deleted files
- tracking of moved files
- find duplicates by file content
- automatic sync conflict solving
17- SuperSync
A file synchronization/backup utility. Designed to synchronize two folders. It can be used as a backup by synchronizing to a backup source.
You can synchronize multiple computers to the same storage source. Includes FTP, SFTP and FTPS support.
Features
- Synchronize two folders
- Backup to a ftp site
- Supports secure ftp transfers
- Includes encryption and compression support
- Can execute multiple operations at once
- Filter which files are synchronized
- Available for the Mac/PC/Linux
18- AirDrive
AirDrive is a file storage utility that uses the storage capacity of linked IMAP enabled email accounts for file storage with an FTP-like interface.
Features
- Store files in GMail account
- FTP-Like interface
- Optional AES256 encryption
- Link many GMail accounts and use combined storage
- Supports Google Apps accounts
- File archiving feature
- Open mediawiki documentation
19- ScpSync
FTP / SFTP batch sync tool for Administrators to sync (User) data between a local computer and server. FTP / SFTP login data is secured. Synchronize in both directions and supports deletes in target. This Project use the WinSCP Sync Function.
20- JFileSync - Java File Synchronization
JFileSync is a Java application used to synchronize directories of two different file systems. For instance, you want to synchronize a set of directories on your laptop with a set of corresponding directories on your workstation.