#language en = Client backups = User data should be synchronised to each user's respective home directory on `b.fluid.tuwien.ac.at`. Home directories on `b.fluid` are backed up daily and can be restored for at least one year by the admins. If you do not yet have a home directory on `b.fluid`, please contact the admins (Thomas Loimer or Iris Fula) so they can create a home directory for you. == Setup instructions == === Windows === In order to set up file synchronisation to `b.fluid` on your Windows client, your system needs an rsync client and a customised Windows synchronisation script. For details on how to proceed, please contact Iris Fula. === GNU/Linux, macOS, other Unix-like operating systems === Please make sure to… * save the script [attachment:sync-to-host sync-to-host] to a directory in your $PATH (for example `/usr/local/bin`), * make the script `sync-to-host` executable (e.g. `chmod +x /usr/local/bin/sync-to-host`) * check that the program `rsync` is installed (should be installed by default on most systems) * check that the program `anacron` is installed (should be installed by default on most desktop systems) * copy/paste the following lines to a terminal (adjust `TU_USER` according to your TU username): {{{ export TU_USER=YOUR_TU_USERNAME export CONFIG_DIR="${HOME}/.config/sync-to-host" export TARGET_HOST=b.fluid.tuwien.ac.at export TARGET_DIR=$(hostname -s) # run the backup script once (enter your TU password when asked to do so) sync-to-host ${TU_USER} ${TARGET_HOST} ${TARGET_DIR} }}} ==== Automated backups on GNU/Linux ==== In order to set up a cron job for automated client backups on GNU/Linux systems, please copy and paste the following lines into a terminal: {{{ export CRON_FILE=/etc/cron.hourly/b_backup-${TU_USER} sudo tee ${CRON_FILE} < ${PLIST_PATH} < Label ${BASENAME} ProgramArguments /usr/local/bin/sync-to-host ${TU_USER} ${TARGET_HOST} ${TARGET_DIR} RunAtLoad StartInterval3600 EOF launchctl load ${PLIST_PATH} }}} = Restoring data = == Instructions for admins == In order to restore data from a backup, backups can be mounted to a user's home directory. Users can then access their data using an SFTP client (e.g. Nautilus on GNU/Linux, Cyberduck on macOS and WinSCP on Windows). For example, in order to expose backup data from `b.fluid` to the user `oswat`, the following commands might be used: {{{ export BACKUP_REPO=/mnt/backup/b/home/oswat.borg export RESTORE_DIR=/home/oswat/restore-$(date -Idate) mkdir ${RESTORE_DIR} borg mount -o default_permissions,allow_other ${BACKUP_REPO} ${RESTORE_DIR} ls ${RESTORE_DIR} }}} Note: As soon as users have restored their data, backups should be unmounted again: {{{ umount ${RESTORE_DIR} }}}