FTPGrab (formerly FTP Sync) is a shell script to grab your files from a remote FTP server to your NAS / server / computer.
A file containing the hash of the name of each downloaded file will prevent re-download a file even if it is not present in the destination directory.
You can also apply a filter to search for files with a regular expression.
Because this script only need
wget, it is ideal for those with a seedbox or a shared seedbox to synchronize with a NAS (Synology Qnap D-Link) or a local computer...
With the sqlite3 HASH_STORAGE, the process performance will be improved!.
Before reporting an issue, please read the Troubleshooting page.
Each time the script is executed, a log file is created prefiexd by the config used.
Here is an example :
FTPGrab v4.1 (seedbox - 2017/03/15 01:41:49) -------------- Config: seedbox Script PID: 19383 Log file: /var/log/ftpgrab/seedbox-20170315014149.log FTP sources count: 1 FTP secure: 1 Download method: curl Resume downloads: 1 Hash type: md5 Hash storage: sqlite3 Hash file: /opt/ftpgrab/hash/seedbox.db -------------- Source: ftp://198.51.100.0:21/complete/ Destination: /tmp/seedbox/ Checking connection to ftp://198.51.100.0:21/complete/... Successfully connected! -------------- Process file: Burn.Notice.S06E16.VOSTFR.HDTV.XviD.avi Hash: baf87b6719e9f5499627fc8691efbd3c Size: 184.18 Mb Status: Never downloaded... Start download to /tmp/seedbox/Burn.Notice.S06E16.VOSTFR.HDTV.XviD.avi... Please wait... File successfully downloaded! Time spent: 00:00:48 -------------- Change the ownership recursively of 'Destination' path to ftpuser:ftpgroup Change the access permissions recursively of 'Destination' path to 755 -------------- Finished... Total time spent: 00:00:49
The hash file looks like this if you used
How can i help ?
FTPGrab is free and open source and always will be.
We welcome all kinds of contributions
The most basic way to show your support is to star
Any funds donated will be used to help further development on this project!
LICENSE for more details.
Icon credit to Nick Roach.