#!/usr/bin/env bash # --------------------------------------------------- # # -------------------- Variable --------------------- # # ## --------------------------- ## ## - - ## ## - USER SETTINGS - ## ## - - ## ## --------------------------- ## ## - load default configuration ## - . $rcopy_conf_file . $rcopy_functions_file ## - set hostname, which is wanted to backup ## - srcHost= ## - sync via ssh tunnel ## - ## - if syncing via ssh sh_tunnel, create/modify file ## - ~/.ssh/config with the following contents ## - ## - host localhost ## - user back ## - Port 9999 ## - ForwardAgent yes ## - StrictHostKeyChecking no ## - LogLevel FATAL ## - ## - NOTE !! ## - you cannot have different entries for localhost. ## - ## - A ssh tunnel localhost -> $target_host ## - will be created. ## - ssh_tunnel=false ssh_tunnel_local_port=9999 ssh_tunnel_target_port=22 ssh_tunnel_key_file= ## - if syncing via ssh hop-host, create/modify file ## - ~/.ssh/config with the following contents ## - ## - host localhost ## - user back ## - Port 9999 ## - ForwardAgent yes ## - StrictHostKeyChecking no ## - LogLevel FATAL ## - ## - NOTE !! ## - you cannot have different entries for localhost. ## - ## - A ssh tunnel localhost -> $hop_host -> $target_host ## - will be created. ## - ssh_hopping=false ssh_hop_host=shell.so36.net hop_host_port=1036 target_port=1036 local_port=9999 ssh_keyfile=$HOME/.ssh/id_dsa ## - remote user ## - ssh_user=back ## - what to store ? ## - ## - these directories will be archived ## - into one file ## dir_backup="" ## - backup network filesystems like nfs or smbfs ## - ## - NOTICE! ## - - mounting network devices is only possible on localhost - YET ## - - if network directory should mount, you need an entry in ## - /etc/fstab ## - mount_netdir=false net_mounted_dir_backup="" ## - also store mysql databases ? ## - mysql_backup=false ## - Since Version 5.6, giving password on command line is considered as insecure. ## - To avoid giving the password on command line, you can use an ## - encrypted option file instead. ## - ## - 1.) Create (encrypted) option file: ## - $ mysql_config_editor set --login-path=local --socket=/var/run/mysqld/mysqld.sock --user=backup --password ## - $ Password: ## - ## - 2.) Set environment variable mysql_credential_args="--login-path=local" ## - Now, the backup script uses the encrypted option file instead of (unencrypt) password ## - on command line. mysql_credential_args="--login-path=local" mysql_user=backup mysql_password=backup ## - gzip mysql dump files? ## - mysql_gzip=false ## - restart apache after mysqldump ## - restart_apache=false ## - also store postresql databases ? ## - pgsql_backup=false pgsql_user=postgres ## - gzip postgres dump files? ## - pgsql_gzip=false ## - store disk settings ## - disksetting_backup=false ## - store svn repositories ? ## - svn_backup=false svn_source_base_path="" ## - gzip SVN backup files? ## - svn_gzip=false ## - give global rsync arguments here. maybe you wish ## - to exclude some files or diredtories ## - #rsync_progArgs="--exclude *.log --exclude *.log.*.gz --delete-excluded " #rsync_progArgs="--exclude **/dev/* --delete-excluded" rsync_progArgs="--exclude **/dev/*random --exclude **/log/* --exclude **/logs/* --exclude **/sessions/* --delete-excluded" ## ----------------------------------------------------- ## - ## - the following parameters overwrites the values from ## - the golbal configuration file ## - how long to hold backup-files ? ## - #days=15 # a bigger (integer-)value for_DEBUG "1"results in more # infomation, written to the logFile # # possible values: 0 , 1 or 2 # #_DEBUG=0 # if _TEST is set to "1", nothing will be done. instead # rsync will just report the actions it would have # taken to the $logFile # #_TEST=0 export rcopy_functions_file srcHost ssh_user MIRROR ARCHIVE days _DEBUG _TEST ssh_hopping ## - Do the stuff - include main part of host script ## - . $hosts_base_dir/scripts/main_part.include