Как мне сжать файлы в этом сценарии:
У меня есть структура папок, подобная этой:
Пользователь1:
/home/user1/websites/website1
/home/user1/websites/website2
Пользователь2:
/home/user2/websites/website1
/home/user2/websites/website2
/home/user2/websites/website3
И я сейчас пытаюсь (нужно) сделать резервное копирование следующим образом:
Папки для резервных копий на пользователя:
/backup/date/websites/user1/
/backup/date/websites/user1/
И мне нужно резервное копирование tar в каталоге пользователя отдельно для каждого веб-сайта, как это :
/backup/date/websites/user1/website1.tar.gz
/backup/date/websites/user1/website2.tar.gz
/backup/date/websites/user2/website1.tar.gz
/backup/date/websites/user2/website2.tar.gz
/backup/date/websites/user2/website3.tar.gz
У меня есть такой скрипт, чтобы выполнить половину этой работы:
#VARIABLES
BKP_DATE=`date +"%F"`
BKP_DATETIME=`date +"%H-%M"`
#BACKUPS FOLDERS
BKP_DEST=/backup/users
BKP_DEST_DATE=$BKP_DEST/$BKP_DATE
BKP_DEST_TIME=$BKP_DEST_DATE/$BKP_DATETIME
BACKUP_DIR=$BKP_DEST_TIME
#NUMBER OF DAYS TO KEEP ARCHIVES IN BACKUP DIRECTORY
KEEP_DAYS=7
#Create folders
mkdir -p $BKP_DEST_DATE
mkdir -p $BKP_DEST_TIME
mkdir -p $BACKUP_DIR
#DELETE FILES OLDER THAN {*} DAYS IN BACKUP SERVER DIRECTORY
#echo 'Deleting backup folder older than '${KEEP_DAYS}' days'
find $BKP_DEST/* -type d -ctime +${KEEP_DAYS} -exec rm -rf {} \;
#Do backups
#List only names available users data directories
usersdirectories=`cd /home && find * -maxdepth 0 -type d | grep -Ev "(tmp|root)"`
#Creating directories per user name
for i in $usersdirectories; do
mkdir -p $BACKUP_DIR/$i/websites
done
Но если вы видите, я не знаю, как сделать это для tar отдельно архивы. В своей половине сценария я сделал:
- Создание структуры папок для резервного копирования по дате и времени (/ backup / users / day / hour-minutes)
- Создание структуры папок для резервного копирования по именам пользователей (/ backup / users / day / hour-minutes / user1)
Спасибо всем пользователям, которые пытаются мне помочь!