diff --git a/Script/backup b/Script/backup index cdd5f11..254dd78 100644 --- a/Script/backup +++ b/Script/backup @@ -67,10 +67,17 @@ backup_date_week() } mkalias_with_prefix 'backup_date_week' +backup_date_year() +{ + echo "$(date +%Yy)" +} +mkalias_with_prefix 'backup_date_year' + backup_date_day() { week=$(backup_date_week) - echo "$(date +%Yy_%mm_%dd)-${week}" + year=$(backup_date_year) + echo "${year}_$(date +%mm_%dd)-${week}" } mkalias_with_prefix 'backup_date_day' @@ -92,13 +99,11 @@ backup_firefox() { eval $(mkvar 'backup_dir|$1||Укажите папку для бекапа') eval $(mkvar 'user|$2|$(whoami)') + eval $(mkvar 'file_add_name|$4|mozilla_backup') + eval $(mkvar 'file|$3|${backup_dir}/$(hostname)_${user}_${file_add_name}_$(backup_date).tgz') #ask_continue && return - file_add_name="mozilla_backup" - file_pref="${backup_dir}/$(hostname)_${user}_${file_add_name}_" - compgen -G "${file_pref}$(backup_date_day)*" && printf "Сегодня уже делался бэкап\n" && return - - file="${file_pref}$(backup_date).tgz" + echo "$(backup_date): Делаем бэкап /.mozilla в файл '${file}'" tar cvpzf "${file}" \ ${exclude_mozilla//'\n'/' '} \ @@ -141,37 +146,31 @@ exclude_home=' backup_home() { eval $(mkvar 'backup_dir|$1||Укажите папку для бекапа') + eval $(mkvar 'file_add_name|$3|home_backup') + eval $(mkvar 'file|$2|${backup_dir}/$(hostname)_${file_add_name}_$(backup_date).tgz') #ask_continue && return - file_add_name="home_backup" - file_pref="${backup_dir}/$(hostname)_${file_add_name}_" - compgen -G "${file_pref}*$(backup_date_week)*" && printf "На этой неделе уже делался бэкап\n" && return + echo "$(backup_date): Делаем бэкап /home в файл '${file}'" - file="${file_pref}$(backup_date).tgz" sudo tar cvpzf "${file}" \ --exclude=/*${file_add_name}*.tgz \ ${exclude_mozilla//'\n'/' '} \ ${exclude_home//'\n'/' '} \ /home - echo "${file}" } mkalias_with_prefix 'backup_home' backup_etc() { eval $(mkvar 'backup_dir|$1||Укажите папку для бекапа') + eval $(mkvar 'file_add_name|$3|sys_etc_backup') + eval $(mkvar 'file|$2|${backup_dir}/$(hostname)_${file_add_name}_$(backup_date).tgz') #ask_continue && return - file_add_name="sys_etc_backup" - file_pref="${backup_dir}/$(hostname)_${file_add_name}_" - compgen -G "${file_pref}$(backup_date_day)*" && printf "Сегодня уже делался бэкап\n" && return - - file="${file_pref}$(backup_date).tgz" + echo "$(backup_date): Делаем бэкап /etc в файл '${file}'" sudo tar cvpzf "${file}" \ /etc - echo "${file}" - echo "Проверка на '${file_pref}$(backup_date_day)*'" } mkalias_with_prefix 'backup_etc' @@ -195,13 +194,11 @@ backup_sys() --exclude=/opt \ ' eval $(mkvar 'backup_dir|$1||Укажите папку для бекапа') + eval $(mkvar 'file_add_name|$3|sysbackup') + eval $(mkvar 'file|$2|${backup_dir}/$(hostname)_${file_add_name}_$(backup_date).tgz') #ask_continue && return - file_add_name="sysbackup" - file_pref="${backup_dir}/$(hostname)_${file_add_name}_" - compgen -G "${file_pref}*$(backup_date_week)*" && printf "На этой неделе уже делался бэкап\n" && return - - file="${file_pref}$(backup_date).tgz" + echo "$(backup_date): Делаем бэкап / в файл '${file}'" sudo tar cvpzf "${file}" \ --exclude=/*${file_add_name}*.tgz \ @@ -223,8 +220,14 @@ backup_firefox_and_del_old_files() backup_ff_dir="${backup_host_dir}/firefox_${user}" mkdir "${backup_ff_dir}" - backup_firefox "${backup_ff_dir}" - backup_delete_old_files_by_date "${backup_ff_dir}" "_mozilla_backup_@DATE\.tgz" 3 2 2 week + file_add_name="mozilla_backup" + file_pref="${backup_ff_dir}/$(hostname)_${user}_${file_add_name}_" + compgen -G "${file_pref}*$(backup_date_year)*$(backup_date_week)*" && printf "$(backup_date): На этой неделе уже делался бэкап\n" && return + + file="${file_pref}$(backup_date).tgz" + + backup_firefox "${backup_ff_dir}" "${user}" "${file}" "${file_add_name}" + backup_delete_old_files_by_date "${backup_ff_dir}" "${file_add_name}_@DATE\.tgz" 3 2 2 week } mkalias_with_prefix 'backup_firefox_and_del_old_files' @@ -239,8 +242,14 @@ backup_home_and_del_old_files() backup_home_dir="${backup_host_dir}/home" mkdir "${backup_home_dir}" - backup_home "${backup_home_dir}" - backup_delete_old_files_by_date "${backup_home_dir}" "_home_backup_@DATE\.tgz" 2 1 1 week + file_add_name="home_backup" + file_pref="${backup_home_dir}/$(hostname)_${file_add_name}_" + compgen -G "${file_pref}*$(backup_date_year)*$(backup_date_week)*" && printf "$(backup_date): На этой неделе уже делался бэкап\n" && return + + file="${file_pref}$(backup_date).tgz" + + backup_home "${backup_home_dir}" "${file}" "${file_add_name}" + backup_delete_old_files_by_date "${backup_home_dir}" "${file_add_name}_@DATE\.tgz" 2 1 1 week } mkalias_with_prefix 'backup_home_and_del_old_files' @@ -255,8 +264,14 @@ backup_sys_and_del_old_files() backup_sys_dir="${backup_host_dir}/sys" mkdir "${backup_sys_dir}" - backup_etc "${backup_sys_dir}" - backup_delete_old_files_by_date "${backup_sys_dir}" "_sys_etc_backup_@DATE\.tgz" 3 3 3 + file_add_name="sys_etc_backup" + file_pref="${backup_sys_dir}/$(hostname)_${file_add_name}_" + compgen -G "${file_pref}$(backup_date_day)*" && printf "$(backup_date): Сегодня уже делался бэкап\n" && return + + file="${file_pref}$(backup_date).tgz" + + backup_etc "${backup_sys_dir}" "${file}" "${file_add_name}" + backup_delete_old_files_by_date "${backup_sys_dir}" "${file_add_name}_@DATE\.tgz" 3 3 3 } mkalias_with_prefix 'backup_sys_and_del_old_files' @@ -266,7 +281,7 @@ backup_crontab_firefox() eval $(mkvar 'user|$2|$(whoami)') sudo_="" [[ "$user" != "$(whoami)" ]] && sudo_="sudo" - cmd="0 * * * * source /home/$(whoami)/.bashrc && backup_firefox_and_del_old_files '${backup_dir}' $user" + cmd="0 * * * * source /home/$(whoami)/.bashrc && backup_firefox_and_del_old_files '${backup_dir}' $user >> '/home/$(whoami)/Backup/backup_firefox.log'" echo "Будет установлена команда '${cmd}' с правами ${sudo_}" ask_continue && return crontab_add "${cmd}" ${sudo_} @@ -277,7 +292,7 @@ backup_crontab_home() { eval $(mkvar 'backup_dir|$1|$(pwd)') sudo_="sudo" - cmd="0 * * * * source /home/$(whoami)/.bashrc && backup_home_and_del_old_files '${backup_dir}'" + cmd="0 * * * * source /home/$(whoami)/.bashrc && backup_home_and_del_old_files '${backup_dir}' >> '/home/$(whoami)/Backup/backup_home.log'" echo "Будет установлена команда '${cmd}' с правами ${sudo_}" ask_continue && return crontab_add "${cmd}" ${sudo_} @@ -288,7 +303,7 @@ backup_crontab_etc() { eval $(mkvar 'backup_dir|$1|$(pwd)') sudo_="sudo" - cmd="0 * * * * source /home/$(whoami)/.bashrc && backup_sys_and_del_old_files '${backup_dir}'" + cmd="0 * * * * source /home/$(whoami)/.bashrc && backup_sys_and_del_old_files '${backup_dir}' >> '/home/$(whoami)/Backup/backup_etc.log'" echo "Будет установлена команда '${cmd}' с правами ${sudo_}" ask_continue && return crontab_add "${cmd}" ${sudo_}