Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Попередня ревізія | ||
backupalka [2019/03/25 10:15] |
backupalka [2023/06/15 21:02] (поточний) nightfly |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== Резервне копіювання ====== | ||
+ | |||
+ | Сподіваємося, | ||
+ | Якщо у вас немає часу або можливості налаштувати нормальну систему резервного копіювання, | ||
+ | |||
+ | <file bash backupalka.sh> | ||
+ | #!/bin/sh | ||
+ | |||
+ | # directory to store local backups | ||
+ | BACKUP_DIR="/ | ||
+ | |||
+ | # max backups store age in days | ||
+ | MAX_AGE=30 | ||
+ | |||
+ | # dirs which will be packed during backup | ||
+ | SYSTEM_DIRS="/ | ||
+ | |||
+ | # mysqldump path | ||
+ | MYSQLDUMP="/ | ||
+ | |||
+ | # mysql user login | ||
+ | MYSQL_USER=" | ||
+ | |||
+ | # mysql password | ||
+ | MYSQL_PASSWORD=" | ||
+ | |||
+ | # mysql database host | ||
+ | MYSQL_HOST=" | ||
+ | |||
+ | # ftp upload of backup archive, using ncftp | ||
+ | # you can install it with following command: pkg install ncftp | ||
+ | FTP_UPLOAD=" | ||
+ | |||
+ | # ftp backup remote host | ||
+ | FTP_HOST=" | ||
+ | |||
+ | # ftp user login | ||
+ | FTP_LOGIN=" | ||
+ | # ftp user password | ||
+ | FTP_PASSWORD=" | ||
+ | |||
+ | #remote directory to upload backups (must exists) | ||
+ | FTP_REMOTE_PATH="/ | ||
+ | |||
+ | ############################################################## | ||
+ | DATE=`date +%Y%m%d` | ||
+ | |||
+ | cd $BACKUP_DIR; | ||
+ | |||
+ | 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) | ||
+ | / | ||
+ | echo "FTP upload finished";; | ||
+ | NO) | ||
+ | echo "No FTP upload enabled";; | ||
+ | esac | ||
+ | </ | ||
+ | |||
+ | |||
+ | Так, для заливки бекапів по ftp використовується ncftp. Можете встановити його якось так: | ||
+ | |||
+ | < | ||
+ | # pkg install ncftp | ||
+ | </ | ||
+ | |||
+ | або так | ||
+ | |||
+ | < | ||
+ | # fetch ftp:// | ||
+ | </ | ||
+ | |||
+ | або будь-яким іншим зручним вам способом | ||
+ | |||
+ | ну так, і в **crontab -e** її так - вжжжуууххх! | ||
+ | |||
+ | < | ||
+ | 2 2 * * * / | ||
+ | </ | ||
+ | |||
+ | ну і, звичайно, | ||
+ | < | ||
+ | # chmod a+x / | ||
+ | </ | ||