Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #PUT DOMAIN NAMES IN THESES VAR
- domainnames=("example.com" "example.net")
- ctrl_c(){
- echo -e "quitting ..."
- exit 130;
- }
- startbackup(){
- today=`date '+%Y_%m_%d__%H_%M_%S'`
- filename=backup-$domain-$today.rsync
- mkdir $PWD/$filename
- echo -e "Login in ..."
- rsync -aAXv --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} root@$domain:/ $PWD/$filename
- }
- startrestore(){
- today=`date '+%Y_%m_%d__%H_%M_%S'`
- filename=$providedfilename.rsync
- rsync -aAXv --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / $PWD/$filename
- }
- loopmode(){
- trap ctrl_c INT
- for domain in "${domainnames[@]}"
- do
- echo -e "Backup in progress for $domain ..."
- trap ctrl_c INT
- startbackup "$domain" && echo -e "Backup done"
- done
- }
- passtotmux() {
- _FUNC_TO_PASS="${1}"
- _IFS_BACKUP="${IFS}"
- IFS=$'\n'
- for i in $(type ${_FUNC_TO_PASS} | tail -n +2); do
- tmux send-keys "${i}" C-m
- done
- IFS="${_IFS_BACKUP}"
- }
- menu(){
- options=("Backup (1)" "Restore (2)" "Exit (3)")
- select opt in "${options[@]}"
- do
- case $opt in
- "Backup (1)")
- loopmode
- ;;
- "Restore (2)")
- ;;
- "Exit (3)")
- break
- ;;
- *) echo -e "Invalid option" ; clear ; menu;
- esac
- done
- }
- tmux new-session -A -d -s Backup-Restore 'bash backuprestore.sh menu'
- tmux at
- "$@"
Add Comment
Please, Sign In to add comment