SAFEKEEP.CONF(5)

πŸ“¦
version 1.5.1^20230910git75e66fe Β· 4 versions
, in epel 9

πŸŽ€ SAFEKEEP.CONF(5) πŸŽ€ β€” the SafeKeep Server Configuration glow-up

okay bestie, so this is the config file page β€” safekeep.conf, straight out of the SafeKeep Server Configuration manual, section 5 πŸ’…. It's the page for the config file of safekeep(1), and yes it's way less scary than it sounds. Let's get into it 🫢


✨ NAME ✨

safekeep.conf β€” the configuration file for safekeep(1) πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

This file lives in /etc/safekeep/, or optionally in ~/.safekeep/ for non-root users, and safekeep(1) will just auto-pick it up from there. no setup arc, it just finds you 😌


🌸 DESCRIPTION 🌸

This config file holds the safekeep global settings. The format is a super simple key-value pair situation, like Java properties files basically. Here's the tea:

  • lines starting with # are ignored, they're comments πŸ’¬
  • keys are separated from values by =
  • leading and trailing spaces are ignored, so you can vibe-format as much as you want ✨

πŸ’… PARAMETERS πŸ’…

  • backup.user β€” the Unix user the server runs under. If you don't specify it, safekeep just runs under whatever the current user is. no notes πŸ‘‘
  • backup.tempdir β€” specifes a TEMPDIR for use with 'rdiff-backup'. You can override this with a commandline argument to 'safekeep'.
  • base.dir β€” the base directory for date repository relative paths. If not specified, it defaults to the home directory of the backup user. cute default ngl 🏠
  • client.user β€” the default Unix user that'll be used on the client. You can override this on a host-by-host basis in the .backup file. If not specified, it defaults to root πŸ‘‘
  • email.format β€” if specified, safekeep generates multipart MIME email messages. If not specified, you get a non-MIME message. The format options are text or html, to generate parts of that type. NB: the log of safekeep is always sent as text. always. don't fight it πŸ’Œ
  • email.from β€” the email address used as the sender when sending the logs. If not specified, safekeep uses SafeKeep@<hostname fqdn>.
  • email.to β€” okay so besides writing the session logs to standard output, safekeep can also email them to a bunch of recipients. This comma-separated list of emails is the recipient list for the logs. If not specified, safekeep won't even try to email the logs. no recipients, no drama πŸ™ˆ
  • email.smtp.port β€” the port used to connect to the SMTP server. If not specified, safekeep uses the system default value, normally port 25/tcp.
  • email.smtp.server β€” the SMTP server used for sending mails, if email.to names any recipients. If not specified, safekeep just uses /usr/sbin/sendmail to deliver the mail πŸ“¬
  • email.summary β€” generates a summary part at the start of the email. Possible options are true, yes or 1. Anything else is taken as false. NB: this requires email.format to be set, and it's currently only used for server and list run types.
  • nice.adjustment β€” the default nice level adjustment for safekeep. It's an integer added to the current nice level. Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable). To disable nice, set this value to 0. If no nice level is specified, safekeep is niced at +10 ✨
  • nice.adjustment.server β€” the nice level adjustment for safekeep, used on the server side. It overrides the generic setting in nice.adjustment πŸ‘‘
  • nice.adjustment.client β€” the default nice adjustment for the client. This setting is normally not all that important, since most of the load is on the server side. You can also set the remote nice level on a per-client basis in the .backup file (see /backup/host/@nice). NB: if you change this value, you'll have to re-deploy the auth keys. fr fr, don't forget 😭
  • ionice.adjustment β€” the default IO nice level adjustment for safekeep. It can be none, idle, or an integer between 0-7 (with 0 being higher priority). See ionice(1) for more info. This is currently only used on the server side, where IO load tends to be a problem. NB: this depends on ionice(1) being available on the system where the server is running β€” if ionice can't be found, this setting is ignored. If no level is specified, it defaults to idle πŸ’€
  • bandwidth.overall β€” the default bandwidth limit for both upload and download, for all the clients. It's an integer number of KB/s (peep the NOTES section for more). This value is optional.
  • bandwidth.download β€” the default bandwidth limit for download across all clients. If specified (with a value greater than 0), it overrides the value set in bandwidth.overall (go read that one for more info). This value is optional.
  • bandwidth.upload β€” the default bandwidth limit for upload across all clients. If specified (with a value greater than 0), it overrides the value set in bandwidth.overall (again, refer to it for more info). This value is optional.
  • snapshot.size β€” the default size used for any snapshots that don't have a size value specified. It's passed to lvcreate(8) (LVM2), including the specification of a percentage (%). If not otherwise specified, the percentage is based on unallocated space (i.e. LVM2 %FREE), which is different from the interpretation within the <snapshot> option. This value is optional, and it defaults to 20%FREE 🧚
  • ssh.keygen.type β€” the SSH private key type to generate when safekeep --keys is used. It's passed to ssh-keygen(1), and not all valid types may be accepted on all systems. Only SSH protocol version 2 keys are accepted. This value is optional, and it defaults to rsa πŸ”‘
  • ssh.keygen.bits β€” the number of bits in the SSH private key to create. It's passed to ssh-keygen(1), and only certain sizes are accepted depending on the key type. If no value is required, e.g. for ecdsa key type, give this option with no corresponding bit size. This value is optional, and it defaults to 4096 ⭐
  • ssh.strict_hostkey_checking β€” specifies if StrictHostKeyChecking should be performed by the ssh client when connecting to the remote host. This value is optional, and it defaults to ask. Set it to yes if you sign host keys with a CA key or manage host keys by other means (FreeIPA/sssd, Ansible,,,). Setting this to no is a bit unsafe, because new hosts get automatically added to known_hosts without any validation 😬
bestie please read that last one twice. no = new hosts sliding into known_hosts with zero vetting. be careful πŸ’€

🌈 NOTES 🌈

Safekeep uses trickle to implement bandwidth throttling (see http://monkey.org/~marius/pages/?page=trickle for more info). You'll need to install it separately to use this feature β€” most Linux distributions have it packaged as trickle πŸ“¦

The bandwidth is calculated as an average over a 256KB window, and it's expressed as an integer number of kilo-bytes per second (e.g. 100, meaning 100KB/s). Bandwidth limits of zero are ignored 🚫

The bandwidth throttling can be customized for both download and upload (see bandwidth.download and bandwidth.upload) as well as on a per-client basis (see safekeep.backup(5) for more info). you're so customizable bestie πŸ’–


πŸŽ€ FILES πŸŽ€

/etc/safekeep/safekeep.conf
~/.safekeep/safekeep.conf

πŸ‘€ SEE ALSO πŸ‘€

safekeep(1), safekeep.backup(5), rdiff-backup(1), trickle(1), lvcreate(8), ssh-keygen(1)


πŸ’œ AUTHOR πŸ’œ

This man page was originally written by Dimi Paun <dimi@lattica.com> 🫢


πŸ“Ž NOTES πŸ“Ž

  1. dimi@lattica.com mailto:dimi@lattica.com

and that's the whole page, bestie! safekeep, dated 09/10/2023 β€” that's the source/version and date, so you know exactly which era of this man page you're living in. go forth and configure iconically πŸ‘‘πŸ’…βœ¨
πŸ“¦ where this page comes from