ftpsync

Debian archvsync-based FTP mirroring. Generates a ftpsync.conf file from the package options and invokes the ftpsync shell script, which handles Debian-specific trace files, architecture filtering, and the push-triggered mirroring protocol.

Options

Option

Type

Default

Required

Description

path

string

(none)

Conditional

REQUIRED when src is a bare hostname (e.g. ftp.example.org); a ValueError is raised at sync time if omitted. OPTIONAL when src is an rsync:// URL, where it overrides the path component of the URL.

hub

bool or string

"false"

No

Passed through to the HUB= shell variable in ftpsync.conf. Use false/true or their string forms.

user

string

(none)

No

RSYNC_USER in ftpsync.conf. Emitted only when BOTH user and password are present.

password

string

(none)

No

RSYNC_PASSWORD in ftpsync.conf. Emitted only when BOTH user and password are present.

email

string

(none)

No

MAILTO for ftpsync notifications.

maintainer

string

global settings.ftpsync.maintainer

No

Overrides global INFO_MAINTAINER.

sponsor

string

global settings.ftpsync.sponsor

No

Overrides global INFO_SPONSOR.

country

string

global settings.ftpsync.country

No

Overrides global INFO_COUNTRY.

location

string

global settings.ftpsync.location

No

Overrides global INFO_LOCATION.

throughput

string

global settings.ftpsync.throughput

No

Overrides global INFO_THROUGHPUT.

arch_include

string

global settings.ftpsync.include

No

ARCH_INCLUDE in ftpsync.conf. Architectures to include (space-separated).

arch_exclude

string

global settings.ftpsync.exclude

No

ARCH_EXCLUDE in ftpsync.conf. Architectures to exclude (space-separated).

logdir

path

global log folder

No

Override the directory where ftpsync writes its own log files.

Note on include/exclude vs arch_include/arch_exclude: The bare include and exclude keys exist only in the GLOBAL settings.ftpsync block of config.json. Per-package architecture overrides must use the arch_include and arch_exclude keys inside the package options object.

Example

This entry is ready to place inside the top-level packages object:

"debian-amd64": {
  "name": "Debian amd64",
  "id": "debian-amd64",
  "href": "/debian",
  "synctype": "ftpsync",
  "syncrate": "PUSH",
  "link": [{ "rel": "HOME", "href": "https://www.debian.org/" }],
  "settings": {
    "hidden": false,
    "src": "rsync://ftp.example.org/debian/",
    "dst": "/srv/mirror/debian",
    "options": {
      "user": "mirror",
      "password": "secret",
      "hub": false,
      "email": "admin@example.org",
      "maintainer": "Example Mirror Operators",
      "country": "KR",
      "arch_include": "amd64 arm64",
      "arch_exclude": "mips mipsel"
    }
  }
}

Full reference

See the Configuration reference (section 4) for the authoritative narrative.