- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
имеется backup скрипт который только льет на ftp из указанной папки файлы бекапов (isp4 - не вариант запускать еще одно резервное копирование на ftp) - работает без проблем только для одной папки - а точнее файлов из нее.
но поскольку аккаунтов то много решил переделать для папок с аккаунтами - а в них файлы бекапа
например в папке /home/test есть папки бекапов аккаунтов user1 user2 user3 и в них файлы типа admin-1_full-2016-07-26.tar.gz и так далее.
#! /bin/bash
#----------------------Start of Script------------------#
function die () {
echo >&2 "$@"
exit 1
}
# backup directory of user IspManager - files to send to the FTP backup
BACKDIR=/home/test
DATE=`date +'%Y-%m-%d'`
#----------------------FTP Settings--------------------#
# set "FTP=y" if you want to enable FTP backups
FTP=y
FTPHOST[0]="xxxx.your-backup.de"
FTPUSER[0]="xxxx"
FTPPASS[0]="xxxxxxxxxx"
FTPDIR[0]="testbak"
#-------------------Deletion Settings-------------------#
# delete old files?
DELETE=y
# how many days of backups do you want to keep? if set 2 - do last 3 days
DAYS=2
if [ $DELETE = "y" ]; then
OLDDBS=`cd $BACKDIR; find . -name "*.tar.gz" -mtime +$DAYS`
REMOVE=`for file in $OLDDBS; do echo -n -e "delete ${file}\n"; done` # will be used in FTP
#cd $BACKDIR; for file in $OLDDBS; do rm -v ${file}; done
#if [ $DAYS = "1" ]; then
# echo "Yesterday's backup has been deleted."
#else
# echo "The backups from $DAYS days ago and earlier have been deleted."
#fi
fi
if [ $FTP = "y" ]; then
echo "Initiating FTP connection..."
cd $BACKDIR
ATTACH=`for file in *$DATE*.tar.gz; do echo -n -e "put ${file}\n"; done`
for KEY in "${!FTPHOST[@]}"; do
echo -e "\nConnecting to ${FTPHOST[$KEY]} with user ${FTPUSER[$KEY]}..."
ftp -nvp <<EOF
open ${FTPHOST[$KEY]}
user ${FTPUSER[$KEY]} ${FTPPASS[$KEY]}
tick
mkdir ${FTPDIR[$KEY]}
cd ${FTPDIR[$KEY]}
$REMOVE
$ATTACH
quit
EOF
done
echo -e "FTP transfer complete! \n"
fi
echo "Your backup is complete!"
ясно что он с папками не работает и удалять на ftp нечего - потому что папки там не создались
[root@srv test]# ./b.sh
Initiating FTP connection...
Connecting to xxxx.your-storagebox.de with user xxxx...
Trying 78.47.102.84...
Connected to xxxx.your-storagebox.de (78.47.102.84).
220 ProFTPD 1.3.5b Server (Hetzner Backup) [::ffff:78.47.102.84]
Remote system type is UNIX.
Using binary mode to transfer files.
331 Password required for xxxx
230 User xxxx logged in
Tick counter printing on (10240 bytes/tick increment).
257 "/testbak" - Directory successfully created
250 CWD command successful
550 ./user1/admin-1_full-2016-07-01.tar.gz: No such file or directory
550 ./user1/admin-1_full-2016-07-24.tar.gz: No such file or directory
550 ./user1/admin-1_full-2016-07-23.tar.gz: No such file or directory
550 ./user1/admin-1_full-2016-07-17.tar.gz: No such file or directory
550 ./user1/admin-1_full-2016-07-25.tar.gz: No such file or directory
550 ./user1/admin-1_full-2016-07-26.tar.gz: No such file or directory
550 ./user2/admin-1_full-2016-07-01.tar.gz: No such file or directory
550 ./user2/admin-1_full-2016-07-24.tar.gz: No such file or directory
550 ./user2/admin-1_full-2016-07-23.tar.gz: No such file or directory
550 ./user2/admin-1_full-2016-07-17.tar.gz: No such file or directory
550 ./user2/admin-1_full-2016-07-25.tar.gz: No such file or directory
550 ./user2/admin-1_full-2016-07-26.tar.gz: No such file or directory
local: *2016-07-29*.tar.gz: No such file or directory
221 Goodbye.
FTP transfer complete!
задача вывести в переменную список директорий юзеров, создать их на ftp и позаливать файлы. может кто подскажет ?
в баше не особо спец..
Примерно так, если я правильно понял задачу:
for i in `ls -l /home/ | awk '{print $3}' | egrep -v "root|apache"`;
do
{
for ii in `ls -l /home/$i/ | awk '{print $9}'`;
do
{
echo "/home/$i/$ii";
#тут на месте echo залив на фтп
}
done;
}
done;
Везде башизм!