10 changed files with 106 additions and 228 deletions
@ -1,15 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Двухсторонняя синхронизация |
||||
# Использование: |
||||
# ./2sync src dest [opt1] [opt2] |
||||
|
||||
src=$1 |
||||
dest=$2 |
||||
opt1=$3 |
||||
opt2=$4 |
||||
|
||||
rsync -r -t -v $opt1 $opt2 --progress -s --omit-dir-times $src $dest |
||||
rsync -r -t -v $opt1 $opt2 --progress -s --omit-dir-times $dest $src |
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Двухсторонняя синхронизация с сервером всех объектов в текущей папке |
||||
# Использование: |
||||
# ./2sync_all filter dest_base opt1 opt2 |
||||
# filter - маска по файлам |
||||
# dest_base - базовый путь для синхронизации, может содержать сервер, например: backup@www_server:/media/Backup |
||||
# opt1,2 - дополнительные опции rsync. |
||||
# Примеры: |
||||
# 1. Опция "-n" для теста |
||||
# 2. Опция "--delete" для удаления файлов |
||||
|
||||
filter=$1 |
||||
dest_base=$2 |
||||
opt1=$3 |
||||
opt2=$4 |
||||
|
||||
files=`ls -p | grep / | grep ${filter} |sort` |
||||
|
||||
cur_dir="$(pwd)/" |
||||
|
||||
for file in $files; do |
||||
src="${cur_dir}/${file}/" |
||||
dest="${dest_base}/${file}/" |
||||
|
||||
./2sync $src $dest $opt1 $opt2 |
||||
done |
||||
|
||||
|
||||
|
||||
|
@ -1,42 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# -------------Входные параметры--------------- |
||||
|
||||
# Максимальное колличество файлов, которое должно остаться |
||||
maxFilesCount=$1 |
||||
# Набор файлов, первые из которых будут удалены |
||||
files=$2 |
||||
|
||||
# -------------Выходной параметр--------------- |
||||
# Файлы, которые нужно удалить |
||||
delFiles="" |
||||
|
||||
# --------------------------------------------- |
||||
# Вычисляем колличество файлов |
||||
filesCount=0 |
||||
for i in $files |
||||
do |
||||
let filesCount++ |
||||
done |
||||
|
||||
# Записываем файлы для удаления в переменную delFiles |
||||
|
||||
if [ $maxFilesCount -lt $filesCount ] |
||||
then |
||||
|
||||
delFilesIndex=0 |
||||
let delFilesCount=filesCount-maxFilesCount |
||||
|
||||
for i in $files |
||||
do |
||||
if [ $delFilesIndex -lt $delFilesCount ] |
||||
then |
||||
delFiles=`echo -en "${delFiles}\n${i}"` |
||||
fi |
||||
let delFilesIndex++ |
||||
done |
||||
|
||||
fi |
||||
|
||||
echo $delFiles |
||||
|
@ -1,19 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Делает бэкап папки ~/.mozilla |
||||
# Использование: |
||||
# ./MakeFirefoxBackup backup_dir |
||||
|
||||
backup_dir=$1 |
||||
if [ "$backup_dir" == "" ]; then |
||||
backup_dir="." |
||||
fi |
||||
|
||||
# Делаем бекап |
||||
cd ~ |
||||
tar cvpzf "${backup_dir}/$(hostname)_mozilla_backup_$(date +%yy%mm%dd-%Hh%Mm%Ss).tgz" \ |
||||
--exclude=.mozilla/firefox/*.*/Cache \ |
||||
.mozilla |
||||
|
||||
#--exclude=.mozilla/firefox/*.*/storage \ |
||||
|
@ -1,51 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Делает бэкап папки /home |
||||
# Использование: |
||||
# ./MakeHomeBackup backup_dir |
||||
|
||||
backup_dir=$1 |
||||
if [ "$backup_dir" == "" ]; then |
||||
backup_dir="/home" |
||||
fi |
||||
|
||||
maxFilesCount=3 |
||||
# Выясняем, какие старые архивы нам нужно удалить |
||||
files=`find ${backup_dir}/*home_backup_*|sort` |
||||
delFiles=`./GetDelFileList $maxFilesCount "${files}"` |
||||
|
||||
# Делаем бекап |
||||
cd /home |
||||
sudo tar cvpzf "${backup_dir}/$(hostname)_home_backup_$(date +%yy%mm%dd-%Hh%Mm%Ss).tgz" \ |
||||
--exclude=*home_backup*.tgz \ |
||||
--exclude=.thumbnails \ |
||||
--exclude=.mozilla/firefox/*.*/storage \ |
||||
--exclude=*/.cache/* \ |
||||
--exclude=*/Загрузки/* \ |
||||
--exclude=*/Backup/* \ |
||||
--exclude=*/Музыка/* \ |
||||
--exclude=.cache \ |
||||
--exclude=/.config/chromium/*/CacheStorage \ |
||||
--exclude=*/.config/skypeforlinux/Cache \ |
||||
--exclude=.local \ |
||||
--exclude=.var/app/app.organicmaps.desktop/data \ |
||||
--exclude=media \ |
||||
--exclude=.steam \ |
||||
--exclude=.smartgit/updates \ |
||||
--exclude=.wine*/*/windows/ \ |
||||
--exclude=.googleearth \ |
||||
--exclude=*/.Genymobile \ |
||||
--exclude=*/3D_Model/assets \ |
||||
--exclude=private \ |
||||
--exclude=MyProgs \ |
||||
--exclude=go/pkg \ |
||||
--exclude=.apt \ |
||||
--exclude=.npm \ |
||||
--exclude=.gradle \ |
||||
. |
||||
|
||||
# Удаляем старые архивы |
||||
for i in $delFiles |
||||
do |
||||
sudo rm $i |
||||
done |
@ -1,45 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Делает бэкап папки / |
||||
# Использование: |
||||
# ./MakeSysBackup backup_dir |
||||
|
||||
backup_dir=$1 |
||||
if [ "$backup_dir" == "" ]; then |
||||
backup_dir="/" |
||||
fi |
||||
|
||||
maxFilesCount=3 |
||||
# Выясняем, какие старые архивы нам нужно удалить |
||||
files=`find ${backup_dir}/*sysbackup_*|sort` |
||||
delFiles=`./GetDelFileList $maxFilesCount "${files}"` |
||||
|
||||
cd / |
||||
|
||||
sudo tar cvpzf "${backup_dir}/$(hostname)_sys_etc_backup_$(date +%yy%mm%dd-%Hh%Mm%Ss).tgz" \ |
||||
/etc |
||||
|
||||
sudo tar cvpzf "${backup_dir}/$(hostname)_sysbackup_$(date +%yy%mm%dd-%Hh%Mm%Ss).tgz" \ |
||||
--exclude=/proc \ |
||||
--exclude=/dev \ |
||||
--exclude=/lost+found \ |
||||
--exclude=/*sysbackup*.tgz \ |
||||
--exclude=/mnt \ |
||||
--exclude=/run/media \ |
||||
--exclude=/sys \ |
||||
--exclude=/home \ |
||||
--exclude=/media \ |
||||
--exclude=/var/log \ |
||||
--exclude=/var/cache \ |
||||
--exclude=/var/lib/flatpak \ |
||||
--exclude=/var/tmp \ |
||||
--exclude=/usr/share \ |
||||
--exclude=/tmp \ |
||||
--exclude=/opt \ |
||||
/ |
||||
|
||||
# Удаляем старые архивы |
||||
for i in $delFiles |
||||
do |
||||
sudo rm $i |
||||
done |
@ -0,0 +1,50 @@
|
||||
#!/bin/bash |
||||
|
||||
[ "${alias_dir}" = "" ] && alias_dir=$(pwd) |
||||
source "${alias_dir}/common" |
||||
|
||||
sync_2dir() |
||||
{ |
||||
# Двухсторонняя синхронизация |
||||
# Использование: |
||||
# ./2sync src dest [opt1] [opt2] |
||||
|
||||
src=$1 |
||||
dest=$2 |
||||
opt1=$3 |
||||
opt2=$4 |
||||
|
||||
rsync -r -t -v $opt1 $opt2 --progress -s --omit-dir-times $src $dest |
||||
rsync -r -t -v $opt1 $opt2 --progress -s --omit-dir-times $dest $src |
||||
} |
||||
mkalias_with_prefix 'sync_2dir' |
||||
|
||||
sync_by_filter() |
||||
{ |
||||
# Двухсторонняя синхронизация с сервером всех объектов в текущей папке |
||||
# Использование: |
||||
# sync_by_filter filter dest_base opt1 opt2 |
||||
# filter - маска по файлам |
||||
# dest_base - базовый путь для синхронизации, может содержать сервер, например: backup@www_server:/media/Backup |
||||
# opt1,2 - дополнительные опции rsync. |
||||
# Примеры: |
||||
# 1. Опция "-n" для теста |
||||
# 2. Опция "--delete" для удаления файлов |
||||
|
||||
filter=$1 |
||||
dest_base=$2 |
||||
opt1=$3 |
||||
opt2=$4 |
||||
|
||||
files=`ls -p | grep / | grep ${filter} |sort` |
||||
|
||||
cur_dir="$(pwd)/" |
||||
|
||||
for file in $files; do |
||||
src="${cur_dir}/${file}/" |
||||
dest="${dest_base}/${file}/" |
||||
|
||||
sync_2dir $src $dest $opt1 $opt2 |
||||
done |
||||
} |
||||
mkalias_with_prefix 'sync_by_filter' |
Loading…
Reference in new issue