Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

backupalka

Резервне копіювання

Сподіваємося, що всі в курсі, що адміністратори діляться на тих, хто робить бекапи, і безробітних тих, хто вже робить? Також нагадуємо, що локальне зберігання резервних копій часто еквівалентно їх відсутності. Якщо у вас немає часу або можливості налаштувати нормальну систему резервного копіювання, можете скористатися таким скриптом.

backupalka.sh
#!/bin/sh
 
# directory to store local backups
BACKUP_DIR="/home/backups/"
 
# max backups store age in days
MAX_AGE=30
 
# dirs which will be packed during backup 
SYSTEM_DIRS="/etc /usr/local/etc /usr/local/www/apache24/data /var/log/stargazer.log /var/cron/tabs/root"
 
# mysqldump path
MYSQLDUMP="/usr/local/bin/mysqldump"
 
# mysql user login
MYSQL_USER="root"
 
# mysql password
MYSQL_PASSWORD="newpassword"
 
# mysql database host
MYSQL_HOST="localhost"
 
# ftp upload of backup archive, using ncftp
# you can install it with following command: pkg install ncftp
FTP_UPLOAD="NO"
 
# ftp backup remote host
FTP_HOST="backups.isp"
 
# ftp user login
FTP_LOGIN="myftplogin"
# ftp user password
FTP_PASSWORD="myftppassword"
 
#remote directory to upload backups (must exists)
FTP_REMOTE_PATH="/home/backups/billingserver/"
 
##############################################################
DATE=`date +%Y%m%d`
 
cd $BACKUP_DIR; mkdir $DATE; chmod 777 $DATE; cd $DATE;
 
tar cf - $SYSTEM_DIRS | gzip > system.tar.gz
mkdir sql; chmod 777 sql; cd sql;
${MYSQLDUMP} --opt --skip-lock-tables --single-transaction -h ${MYSQL_HOST} -p${MYSQL_PASSWORD} -u ${MYSQL_USER} --all-databases | gzip > mysql.sql.gz
 
##############################################################
cd $BACKUP_DIR
for i in *; do
  AGE=`echo $DATE-$i|bc`
  if [ $AGE -gt 69 ]; then
    AGE=`echo $AGE-69|bc`
  fi
  if [ $AGE -gt $MAX_AGE ]; then
    rm -rf $i
  fi
 done
 
 
case $FTP_UPLOAD in 
YES)
/usr/local/bin/ncftpput -R -v  -u ${FTP_LOGIN} -p ${FTP_PASSWORD}  ${FTP_HOST} ${FTP_REMOTE_PATH} ${BACKUP_DIR}${DATE} 
echo "FTP upload finished";;
NO)
echo "No FTP upload enabled";;
esac

Так, для заливки бекапів по ftp використовується ncftp. Можете встановити його якось так:

# pkg install ncftp

або так

# fetch ftp://ftp.ncftp.com/ncftp/ncftp-3.2.6-src.tar.gz && tar zxvf ncftp-3.2.6-src.tar.gz && cd ncftp-3.2.6 && ./configure && make && make install

або будь-яким іншим зручним вам способом

ну так, і в crontab -e її так - вжжжуууххх!

2 2  * * *      /bin/backupalka.sh

ну і, звичайно, не забуваємо зробити

# chmod a+x /bin/backupalka.sh
backupalka.txt · Востаннє змінено: 2023/06/15 21:02 повз nightfly