Browse Source

Fix backup

master
parent
commit
bed11310f4
  1. 79
      Script/backup

79
Script/backup

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

Loading…
Cancel
Save