add subdir option
This commit is contained in:
parent
0a72e082c3
commit
d9968a5fe7
|
@ -19,7 +19,12 @@ backup_storage_dir='/mnt/backups';
|
|||
bashup_jobs=('files' 'mysql');
|
||||
|
||||
# directories to be backed up by files
|
||||
backup_dirs=('/etc' '/home' '/root' '/srv' '/usr/local' '/var/www');
|
||||
backup_dirs=('/etc' '/home/' '/root' '/srv/' '/usr/local' '/var/www/');
|
||||
# to back up an entire directory do *not* add a trailing slash
|
||||
# if you add a trailing slash then instead of backing up that directory itself
|
||||
# a list of all subdirectories is generated and added to the array
|
||||
# note that with a trailing slash files in the top level directory itself will *not* be backed up,
|
||||
# only the subdirectories within it
|
||||
|
||||
# mysql config file that contains 'host' 'user' 'password' vars
|
||||
defaults_extra_file='/etc/mysql/debian.cnf';
|
||||
|
@ -39,6 +44,27 @@ if [ "${EUID}" -ne 0 ]; then
|
|||
exec sudo -u root --shell /bin/bash $0 $@
|
||||
fi
|
||||
|
||||
# check backup_dirs for tailing slash (subdir option)
|
||||
i=0
|
||||
for dir in "${backup_dirs[@]}"; do
|
||||
if grep -qs '/$' <<< "$dir"; then
|
||||
# found match, first remove dir from array
|
||||
unset "backup_dirs[$i]"
|
||||
# check for subdirs
|
||||
if [[ -d $dir ]]; then
|
||||
subdirs=(`ls -1 $dir`)
|
||||
if [[ ${#subdirs[@]} -gt 0 ]]; then
|
||||
for subdir in "${subdirs[@]}"; do
|
||||
if [[ -d "$dir$subdir" ]]; then
|
||||
backup_dirs+=("$dir$subdir")
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
((i++))
|
||||
done
|
||||
|
||||
# check for backup storage directory and mount if need be
|
||||
if [ -d $backup_storage_dir ]; then
|
||||
# check if backup_storage_dir is a mount in fstab
|
||||
|
|
Loading…
Reference in New Issue
Block a user