Простой скрипт бекапа Shell Bash

Пришло время когда мне надоело постоянно писать одно и тоже. размещу здесь что бы самому было легче и быстрее.

с чего начинается скрипт? с оглавления

1
#!/bin/bash

что бы не повторяться в командах, упростить себе жизнь и размер кода биндим переменные

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#имя проджекта
BNAME=IT-SVC
#директория проджекта
WEBSITEDIR=/var/www/user/domain/www
#сегодня
NOW=`date +%Y-%m-%d`
#хочу что бы дата была на 5 дней ранее
OLD=`date --date='5 day ago' +%Y-%m-%d`
#инфо о базе mysql
DBNAME=databasename
DBUSER=mysqluser
DBPASS=mysqluserpass
#инфо о фтп
FTPS=server
FTPU=user
FTPP=pass
FTPD=$BNAME #директория на фтп куда будут заливаться архивы (перед запуском скрипта ее нужно создать)
#локальная директория в данном случае временная tmp
BACKUPDIR=/backup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#создаю папку в директории проджекта
mkdir $WEBSITEDIR/$NOW
#go to
cd $WEBSITEDIR/$NOW
#dump
mysqldump -u $DBUSER -p$DBPASS $DBNAME > $DBNAME.$NOW.sql
#go to
cd $BACKUPDIR
#tarred
tar -zcvf $BACKUPDIR/$BNAME-$NOW.tar.gz $WEBSITEDIR
#ftp con and upd
ftp -inv $FTPS << EOF
user $FTPU $FTPP
#удаляю архив созданный 5 дней назад
rm -Rf $BNAME/$OLD
#выгружаю новое
mkdir $FTPD/$FTPD
cd $FTPD/$NOW
put $BNAME-$NOW.tar.gz
bye
EOF

#чистим мусор
rm -Rf $WEBSITEDIR/$NOW
rm -Rf $BACKUPDIR/$BNAME-$NOW.tar.gz

если кому пригодиться забирайте. для себя буду еще допиливать.
Всем удачи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *