LINUX.ORG.RU

Добавлять или удалять различное количество сайтов

 


0

1

Если взять еще добавить N сайтов что нужно изменить в коде что бы это было просто. Добавлять или удалять различное количество сайтов. Как стоит построить свой код?



Последнее исправление: SysError (всего исправлений: 1)
Ответ на: комментарий от Black_Shadow

Просто у меня есть скрипт который бэкапит 3 сайта. И вот если еще мне нужно будет в скрипт добипать N количество сайтов для бэкапа, есть ли возможность(вариант) это сделать без прописывания всего заново?

SysError
() автор топика

Как стоит построить свой код?

Как-нибудь нормально стоит его построить. Чтобы была возможность добавлять или удалять различное количество сайтов.

r3lgar ★★★★★
()

код пусть работает со списком, в смысле со структурой данных имеющей метод .add()

af5 ★★★★★
()

Ещё пару страниц уламываний и мы увидим наконец-то этот божественный код.

Pyzia ★★★★★
()
Ответ на: комментарий от SysError

Просто у меня есть скрипт который бэкапит 3 сайта. И вот если еще мне нужно будет в скрипт добипать N количество сайтов для бэкапа, есть ли возможность(вариант) это сделать без прописывания всего заново?

Думаю, что есть. Ещё вопросы?

Black_Shadow ★★★★★
()

Ты вопрос через гуглопереводчик прогнал?

anonymous
()
Ответ на: комментарий от SysError

Просто у меня есть скрипт который бэкапит 3 сайта. И вот если еще мне нужно будет в скрипт добипать N количество сайтов для бэкапа, есть ли возможность(вариант) это сделать без прописывания всего заново?

Конечно, есть. Также есть возможность в процессе переписывания получить много денег, найти девушку и постичь дзен, после чего само переписывание станет ненужным.

Deleted
()
Ответ на: комментарий от SysError

Для N=3 уже есть. Т.к. ты его запускаешь периодически имеем общий вид N=3*n, где n - количество запусков. Если его не запускать, то N=0. Если вообще удалить и пропускать сроки бекапа, то с каждым сроком будет -3, -6 и т.д. Т.е. N=-3*n.

Видим что количество сайтов уже весьма различно. Вот и решение!

anonymous
()

Внешний список сайтов используй. А дальше там for in.

IPR ★★★★★
()

Спасибо тролям!

#!/bin/bash
Name=site1
BP_name_file=$Name."$(date +'%Y%b%d%R')".tar.gz
LOGFILE=/home/user/backup/wplog.log
echo "=====================================================" >>$LOGFILE
echo "$(date +'%d-%b-%Y %R')" >>$LOGFILE
echo "Задание \"$Name\" запущено..." >>$LOGFILE
OLD_IFS=$IFS
IFS=$'\n'
Source_dir="/var/www/html/drupal/"
TGT_dir="/home/user/backup/"
tar -czf $TGT_dir$BP_name_file $Source_dir &>>$LOGFILE
STATUS=$?
IFS=$OLD_IFS
echo "Finish backup ${srv_name}"

Name1=site2
BP_name_file1=$Name1."$(date +'%Y%b%d%R')".tar.gz
LOGFILE=/home/user/backup/wplog.log
echo "=====================================================" >>$LOGFILE
echo "$(date +'%d-%b-%Y %R')" >>$LOGFILE
echo "Задание \"$Name1\" запущено..." >>$LOGFILE
OLD_IFS=$IFS
IFS=$'\n'
Source_dir1="/var/lib/mysql/wp"
TGT_dir1="/home/user/backup/"
tar -czf $TGT_dir1$BP_name_file1 $Source_dir1 &>>$LOGFILE
STATUS=$?
IFS=$OLD_IFS
echo "Finish backup ${srv_name}"

Name2=site3
BP_name_file2=$Name2."$(date +'%Y%b%d%R')".tar.gz
LOGFILE=/home/user/backup/wplog.log
echo "=====================================================" >>$LOGFILE
echo "$(date +'%d-%b-%Y %R')" >>$LOGFILE
echo "Задание \"$Name2\" запущено..." >>$LOGFILE
OLD_IFS=$IFS
IFS=$'\n'
Source_dir2="/var/lib/mysql/opencart"
TGT_dir2="/home/user/backup/"
tar -czf $TGT_dir2$BP_name_file2 $Source_dir2 &>>$LOGFILE
STATUS=$?
IFS=$OLD_IFS
echo "Finish backup ${srv_name}"
date
# Папка, куда будем складывать архивы
syst_dir=/home/user/backup/
# Имя сервера, который архивируем
srv_name=user
# Адрес сервера, который архивируем
srv_ip=127.0.0.1
# Пользователь rsync на сервере, который архивируем
srv_user=backup
# Ресурс на сервере для бэкапа
srv_dir1="/home/user/backup/{$BP_name_file,$BP_name_file1,$BP_name_file2}"
echo "Start backup ${srv_name}"
# Создаем папку для инкрементных бэкапов
mkdir -p ${syst_dir}${srv_name}/
cd ${syst_dir}${srv_name}/
rm $(ls -t | tail -n +4) -rf
# Запускаем непосредственно бэкап с параметрами
rsync -a --delete-after $srv_name@$srv_ip:$srv_dir1 ${syst_dir}${srv_name}/
date
echo "Finish backup ${srv_name}"
SysError
() автор топика
Ответ на: комментарий от SysError

Я понимаю что возможно не совсем корректно даю информацию или задаю вопрос, я в этой сфере только начинаю разбираться

SysError
() автор топика
Ответ на: комментарий от SysError

Повторяющийся код-простейший признак говнокода. Может, ближе к вечеру покажу, как бы это сделал я.

Pyzia ★★★★★
()
Ответ на: комментарий от Pyzia

Может, ближе к вечеру покажу, как бы это сделал я.

Но если б следили за тегом #bash, то увидели, что ТС уже создал новый тред и получил не только эти комментарии, но и нормальный код.

vodz ★★★★★
()
Ответ на: комментарий от vodz

Я слежу за этим тегом, но видимо не так пристально, ибо баша и на работе хватает. Уже увидел, что ему разжевали.

Pyzia ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.