Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
charon.ftp(1)							   charon.ftp(1)

NAME
     charon.ftp - remove backup files that exceed a certain age from an FTP aite

SYNOPSIS
     charon.ftp --host host [--ssl] --user name (--password password | --read-
     password) [--dir directory] --maxage days (--profile identifier | --all)
     [--truncate] [--dry-run] [--verbose] [--help]

     The program charon.ftp removes backup archives created by tartarus from an
     FTP server once they reach a certain age and expire. Files that are older
     than the number of days specified on the command line are considerer candi-
     dates for removal unless other, non-expired backups are based on them, so
     full backups may survive longer than expected.

OPTIONS AND ARGUMENTS
     --host server
	 Specify the FTP server to connect to

     --ssl
	 Use SSL to secure the connection (requires Net::FTPSSL)

     --user name
	 Define the username to authenticate with

     --password pass
	 Set the password to authenticate with

     --readpassword
	 Instead of specifying the password on the commandline, it can also be
	 read from the standard input. This is preferable for obvious security
	 reasons.

     --dir
	 Specify the directory on the server the backups files are stored in.

     --maxage n
	 Set the maximum number of days after which a backup is expired.

     --profile name
	 Set the profile name to process. This is mandatory unless --all is sup-
	 plied.

     --all
	 When this is set, the expiration date is applied to alle files found on
	 the server and identified as tartarus backups.

     --truncate
	 This option enables replacing files with /dev/null on FTP server before
	 deletion.  Some FTP servers won't allow deleting files when the quota
	 is reached, this flag enables a workaround.

     --dry-run
	 This option prevents charon from actually deleting files.

     --verbose
	 This option makes charon more verbose about the actions made

     --help
	 This parameter shows a brief command reference.

EXAMPLE
     Using the script is fairly simple and can probably be best explained by
     looking at an example:

	 $ charon.ftp --host safehaven --user john --password SECRET --dir / --maxage 7 --profile home --verbose --dry-run

     This command line will try to log into the server "safehaven" using the
     user name "john" and his password "SECRET" and remove backup file from the
     profile "home" with are more than 7 days old. Due to the command line
     switch "--dry-run", no files are actually deleted - the script will only
     explain its potential actions in its output.

Integration with Tartarus
     Charon does not (and in fact, cannot) read tartarus backup profiles; by us-
     ing hooks however it can be called from Tartarus after completing a suc-
     cessfull backup run. This way, Tartarus can pass the configuration vari-
     ables to Charon:

	 # Hook in Charon
	 TARTARUS_POST_PROCESS_HOOK() {
	     # pass configuration variables to charon
	     # transmit the password through stdin to hide it from "ps ax"
	     local CHARON="/usr/sbin/charon.ftp"
	     local MAX_AGE_IN_DAYS="7"
	     echo -n "$STORAGE_FTP_PASSWORD" | $CHARON \
		 --host "$STORAGE_FTP_SERVER" --user "$STORAGE_FTP_USER" \
		 --readpassword \
		 --dir "$STORAGE_FTP_DIR" \
		 --maxage "$MAX_AGE_IN_DAYS" \
		 --profile "$NAME"
	 }

     TARTARUS_POST_PROCESS_HOOK will only be executed in case of a successfull
     backup, so there won't be any files removed if tartarus encounters an error
     during the new backup creation.

AUTHOR
     Stefan Tomanek <stefan.tomanek@wertarbyte.de>

0.9.8				   2026-08-04			   charon.ftp(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=charon.ftp&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help