Features

  • Multiple sources
  • SFTP support
  • Prevent re-download through a hash
  • Efficient key/value store database to audit files already downloaded
  • Internal cron implementation through go routines
  • Include and exclude filters with regular expression
  • Date filter
  • Retry on failed download
  • Change file/folder permissions and owner
  • Translate modtimes on downloaded files
  • Beautiful email report
  • Webhook notification
  • Slack incoming webhook notification
  • Enhanced logging
  • Timezone can be changed

Installation

Usage

ftpgrab --config=CONFIG [<flags>]

  • --help : Show help text and exit. Optional.
  • --version : Show version and exit. Optional.
  • --config <path> : FTPGrab Yaml configuration file. Required. (example: ftpgrab.yml).
  • --schedule <cron expression> : CRON expression to schedule FTPGrab. Optional. (example: */30 * * * *).
  • --timezone <timezone> : Timezone assigned to FTPGrab. Optional. (default: UTC).
  • --log-level <level> : Log level output. Optional. (default: info).
  • --log-json : Enable JSON logging output. Optional. (default: false).
  • --log-file <path> : Add logging to a specific file. Optional. (example: /var/log/ftpgrab/ftpgrab.log).

Before running, you must create your first ftpgrab.yml file. Read the Configuration page for more info.

Upgrade

All instructions to upgrade from a previous release are added in the Upgrade notes page.