#!/usr/bin/env bash ## - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ## - ## - If network directory have to mount (its only possible if backuping ## - localhost) you need an entry in your /etc/fstab, becaus we mount thuch ## - remote directories with "mount $err_Log ## - load functions ## - . $rcopy_functions_file if $mount_netdir ; then if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then ## - Network directory mounted ? ## - if ! $($ssh ${ssh_user}@${srcHost} df -h 2> /dev/null | grep -q ${backup_dir} 2>/dev/null) ; then $ssh ${ssh_user}@${srcHost} "$sudo mount ${backup_dir}" > /dev/null 2> $err_Log if [[ "$?" -ne 0 ]]; then echolog "" echolog "\t[ERROR] Mounting '${backup_dir}' on '${srcHost}' failed!\n $(cat "$err_Log")" exit 1 else sleep 5 if ! $($ssh ${ssh_user}@${srcHost} df -h 2> /dev/null | grep -q ${backup_dir} 2>/dev/null) ; then echolog "" echolog "\t[ERROR] Something went wrong with mounting '${backup_dir}' on '${srcHost}'!" exit 1 fi fi fi else ## - Network directory mounted ? ## - if ! df | grep "$backup_dir" > /dev/null 2>&1 ;then $mount $backup_dir > /dev/null 2>&1 fi sleep 5 if ! df | grep "$backup_dir" > /dev/null 2>&1 ;then print_error_stdout "Cannot mount network directory to \"$backup_dir\":\n $(cat $err_Log)" echolog "" echolog "\t[ERROR] Cannot mount network directory to \"$backup_dir\"" exit 1 fi fi fi ## - Check if directory is empty ## - if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then if [ ! "$( $ssh ${ssh_user}@${srcHost} ls -A ${backup_dir})" ] ; then echolog "" echolog "\t[ NOTICE ]: Directory \"${backup_dir}\" on \"${srcHost}\" is empty. So nothing to do..\n" exit 0 fi else if [ ! "$(ls -A $backup_dir)" ]; then echolog "" echolog "\t[ NOTICE ]: Directory \"$backup_dir\" is empty. So nothing to do..\n" exit 0 fi fi echolog "\n\tBackup network directory \"$backup_dir\" ( `$date +%H`:`$date +%M` h )" backup_dir=$backup_dir $script_dir/dir_backup.sh if $mount_netdir ; then if [ $srcHost != "localhost" ];then $ssh ${ssh_user}@${srcHost} "$sudo umount ${backup_dir}" > /dev/null 2> $err_Log if [[ "$?" -ne 0 ]]; then echolog "" echolog "\t[ERROR] Unounting '${backup_dir}' on '${srcHost}' failed!\n $(cat "$err_Log")" exit 1 fi #print_error_stdout "Mounting network directories is only possible for localhost - yet:\n $(cat $err_Log)" #echolog "" #echolog "\t[ERROR] Mounting network directories is only possible for localhost - yet" #exit 1 else $umount $backup_dir 2> /dev/null fi fi exit 0