LINUX.ORG.RU

Скрипт на создание резервных копии

 ,


1

1

Подскажите пожалуйста, правильно ли составлен данный скрипт? Может ли он стать виной фатальных ошибок? Может быть есть какие то уязвимые места?

#!/bin/sh

NOW=`date +%d-%m-%Y_%H:%M:%y`
PATH=./dygers/
DIR="$PATH""$NOW"
HOST=***
PORT=21
USER=***
PASSWD=***
FILE_ROOT=root.tar
FILE_HTML=html.tar

/usr/bin/tar cf root.tar --exclude='*Backups*' ./
/usr/bin/tar cf html.tar --exclude='*Backups*' /var/www/html/

/usr/bin/lftp $HOST <<END_SCRIPT
user $USER $PASSWD
mkdir $DIR
cd $DIR
put $FILE_ROOT
put $FILE_HTML
quit
END_SCRIPT
/usr/bin/rm -rf $FILE_ROOT
/usr/bin/rm -rf $FILE_HTML
echo "Done!"
exit 0


Последнее исправление: Eddir (всего исправлений: 1)

Ответ на: комментарий от cnupm

Можно подумать локалхост админ не должен заботиться о своём уютненьком

af5 ★★★★★
()

1. Первый tar ... ./

./

А какая это текущая директория?

2. Нет проверки что lftp отработал удачно.

3. Переменные FILE_ROOT, FILE_HTML не исп. в командах tar

4. Про PATH уже сказали

futurama ★★★★★
()

Используй абсолютный путь.

IPR ★★★★★
()

нужно обрабатывать коды возврата $?

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

Я бы начал с того, что вообще не проверяется наличие прав на чтение/запись.

RiseOfDeath ★★★★
()
PATH=./dygers/
/usr/bin/tar cf root.tar --exclude='*Backups*' ./

Текущая дериктория в скрипте бэкапа? Это какакая? Судя по root.tar, это либо корень, либо /root, и скорее второе. Почему бы тогда не прописать явно?

/usr/bin/rm -rf $FILE_ROOT
/usr/bin/rm -rf $FILE_HTML

Зачем -r, если у тебя тарбол, и он файл? А если там вдруг окажется директория (по каким-то неведомым причинам), то наверное тебе лучше бы об этом узнать, а не удалять её рекурсивно.

FILE_HTML=html.tar
/usr/bin/tar cf html.tar --exclude='*Backups*' /var/www/html/
put $FILE_HTML

Если ты изменишь переменную, то создаваться у тебя будет всё равно html.tar, а «заливаться» $FILE_HTML, что вызовет ошибку. А если ты изменишь не переменную (забудешь про неё, например), а имя файла в команде, то файл-то будет создаваться новый, а заливаться всё время старый — один и тот же. Это опаснее. Потому что бэкапов у тебя с этого момента не будет.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 2)

Использование FTP - проблема. Рекомендуется scp или rsync.

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