spegla
—
mirror ftp sites
spegla
is a mirror program for FTP sites.
Options on the command line is read from left to right the last
option of a certain type overrides a previous of the same type. If the
-f
option together with a file name as argument is
found, parameters will be read from that file before continuing with the
command line again. Options specified on the command line either begins with
‘--
’ a la getopt_long or a single dash
like getopt. The options in the config file are as follows:
configfile
or -f
⟨config
file⟩
- Read parameters from file
section
or -s
⟨section⟩
- Specifies which section to read parameter from. If not specified the
‘
[]
’ section will be read or in a
file where no ‘[]
’ is found, the
whole file.
url
⟨ftp URL⟩
- The ftp URL is on the form
‘
<type>://[<user>[:<password>]@]<host>[:<port>][/<path>]
’.
If this option is found no other options are required. Localdir will be
set by default to current directory. If
‘user
’ or
‘password
’ is not specified they
will be set by default to
‘anonymous
’ respective
‘${USER}@
’.
localdir
or -l
⟨local
directory⟩
- Where in the file system is the mirror located.
This option is required.
remotedir
or -r
⟨remote
directory⟩
- What remote directory to mirror.
This option is required.
username
or -u
⟨user
name⟩
- User to log in as i.e. anonymous.
This option is required.
password
or -p
⟨password⟩
- Password to use i.e. you email address.
This option is required.
host
or -h
⟨hostname⟩
- Ftp server to use.
This option is required.
version
or -v
⟨version⟩
- Need to be defined to 1.1 if config is being read from a file.
This option is required.
warnoverrides
or -w
⟨yes |
no⟩
- Spegla warns if an option is overridden this option can turn that off.
Defaults to yes.
skip
⟨reg exp⟩
- Files or directories remote or local matching this regular expression will
not be touched. Symlinks pointing to a file that would match this
expression are skipped too. Filenames are absolute with root at
remotedir
or localdir
.
This means that all filenames begins with a
‘/
’.
showconf
⟨yes | no⟩
- Spegla show the configuration before starting the mirroring if this option
is set to yes.
Defaults to yes
logfile
⟨log file⟩
- File to log to, can be either of stdout, stderr or a file.
If ‘%s
’ is part of the name it will be
replaced by the name of the last section defined as source for config.
Defaults to stdout.
lockfile
⟨lock file⟩
- To make sure that not two instances of the same mirror is running at the
same time.
If ‘%s
’ is part of the name it will be
replaced by the name of the last section defined as source for
config.
retries
⟨retries⟩
- How many retries before quit.
Defaults to 20.
retrytime
⟨seconds⟩
- How many seconds to wait before log in again after a timeout.
Defaults to 150.
timeout
⟨seconds⟩
- How many seconds to wait to timeout.
Defaults to 150.
port
⟨port number⟩
- Port to connect to.
Defaults to 21.
family
or -a
⟨unspec | inet
| inet6⟩
- Address family to be used to connect.
Defaults to unspec.
passive
⟨yes | no⟩
- Whether to use passive mode or not.
Defaults to yes.
maxdelete
⟨number of deletes⟩
- Maximum number of files to delete. If it exceeds that spegla quits.
Defaults to 150.
loglevel
⟨number⟩
- How detailed the logging should be.
Defaults to 0.
tempdir
⟨directory⟩
- Where to store temporary files.
Defaults to /tmp.
treatasdir
⟨reg exp⟩
- Symlinks to be treated like if they where directories.
treatasdirdest
⟨reg exp⟩
- Symlinks that when being derefered matches this reg exp will be treated as
if they was the directory they points at. This option is useful when you
have links of the type ‘
hej ->
.1
’. Observe that what the link points to will be expanded
with the fully qualified filename with root at the root of the
mirror.
minfree
⟨bytes⟩
- The minimum amount of required free space in
destdir
before spegla
is
started. If it's 0 no check is performed.
Defaults to 0.
dodelete
⟨yes | no⟩
Spegla
will not delete any local files unless this parameter is set to yes. Local
files will still be updated even if dodelete is set to no.
Defaults to no
mirroruser
⟨user⟩
- Which effective user to run the mirroring as.
Defaults to current user.
Blank lines and text after
‘#
’ are ignored.
Consult the files spegla.conf and spegla.sh that are distributed together with
spegla for an example of advanced use of spegla.
Jens A Nilsson <jnilsson@ludd.luth.se>
This man page could describe some options a bit more in detail.
Report bugs to jnilsson@ludd.luth.se