Initial import - (formaly a SVN project named rcopy)
This commit is contained in:
175
hosts/backup_script.sh.sample
Normal file
175
hosts/backup_script.sh.sample
Normal file
@@ -0,0 +1,175 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# --------------------------------------------------- #
|
||||
# -------------------- Variable --------------------- #
|
||||
#
|
||||
|
||||
## --------------------------- ##
|
||||
## - - ##
|
||||
## - USER SETTINGS - ##
|
||||
## - - ##
|
||||
## --------------------------- ##
|
||||
|
||||
## - load default configuration
|
||||
## -
|
||||
. $rcopy_conf_file
|
||||
. $rcopy_functions_file
|
||||
|
||||
## - set hostname, which is wanted to backup
|
||||
## -
|
||||
srcHost=<hostname (fqdn) or localhost>
|
||||
|
||||
|
||||
## - 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="<blank seperatet list of directories>"
|
||||
|
||||
## - 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="<blank seperatet list of network directories>"
|
||||
|
||||
|
||||
## - 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="<path-to-svn i.e. /data/svn>"
|
||||
## - 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
|
||||
Reference in New Issue
Block a user