⚡ Shell script to grab your files from a remote FTP server to your NAS / server / computer
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
tests
.editorconfig
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
UPGRADE.md
ftpgrab.conf
ftpgrab.sh

README.md

GitHub release Build Status Code Quality Donate Paypal

About

FTPGrab 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 grab your files to your NAS (Synology Qnap D-Link) or your local computer...

With sqlite3 HASH_STORAGE, the process performance will be improved!.

You can install FTPGrab using Docker !
An official docker image 🐳 is available for FTPGrab. For more info, have a look on the docker repository.

Before reporting an issue, please read the Troubleshooting page.

Documentation

Logs

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 text as HASH_STORAGE :

baf87b6719e9f5499627fc8691efbd3c Burn.Notice.S06E16.VOSTFR.HDTV.XviD.avi

How can i help ?

All kinds of contributions are welcomed 🙌!
The most basic way to show your support is to star 🌟 the project, or to raise issues 💬
But we're not gonna lie to each other, I'd rather you buy me a beer or two 🍻!

Paypal

License

MIT. See LICENSE for more details.
Icon credit to Nick Roach.