Linux服务器建站数据备份自动上传FTP服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux服务器建站数据备份自动上传FTP服务器相关的知识,希望对你有一定的参考价值。

             现在很多朋友通过购买云服务器建站,有时候由于服务器系统的问题,没有及时做好网站数据的备份而导致数据的丢失。如果你手中还有其他云服务器或者FTP服务器可以实现自动备份上传的功能。本文仅仅是做一个备份数据想法。
(1)网站数据备份

将网站数据/var/www/vhost/www.51cto.com和/var/www/vhost/www.baidu.com分别备份到:
/Data/code-backup/www.51cto.com和/Data/code-backup/www.baidu.com下。

[[email protected]_web5 code-backup]# cat web_code_backup.sh
#!/bin/bash

#备份网站数据
/bin/tar -zvcf /Data/code-backup/www.baidu.com/www.baidu.com_`date +%Y%m%d_%H%M%S`.tar.gz /var/www/vhosts/www.baidu.com
/bin/tar -zvcf /Data/code-backup/www.51cto.com/www.51cto.com_`date +%Y%m%d_%H%M%S`.tar.gz /var/www/vhosts/www.51cto.com

#删除一周之前的备份文件
find /Data/code-backup/www.baidu.com -type f -mtime +7 -exec rm -f {} \;
find /Data/code-backup/www.51cto.com -type f -mtime +7 -exec rm -f {} \;

[[email protected]_web5 ~]# crontab -l
#每天凌晨5点备份网站数据
0 5 * * * /bin/bash -x /Data/code-backup/web_code_backup.sh > /dev/null 2>&1

备份后的效果如下:
[[email protected]_web5 ~]# ls /Data/code-backup/www.baidu.com/
www.baidu.com_20180517_174328.tar.gz
[[email protected]_web5 ~]# ls /Data/code-backup/www.51cto.com/
www.51cto.com_20180517_174409.tar.gz

(2)数据库备份(自动删除10天前的备份文件)

[[email protected] crontab]# pwd
/Data/mysql_Bakup/crontab
[[email protected] crontab]# cat backup_db_xiaobaicai.sh
#!/bin/bash
MYSQL="/usr/bin/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
BACKUP_DIR="/Data/Mysql_Bakup"
#DB_SOCKET="/var/lib/mysql/mysql.sock"
DB_hostname="119.27.184.XX"
DBNAME="xiaobaicai"
DB_USER="db_xiaobaicai"
DB_PASS="mhxzk3rfzh"
TIME=`date +%Y%m%d%H%M%S`
LOCK_FILE="${BACKUP_DIR}/lock_file.tmp"
BKUP_LOG="/Data/Mysql_Backup/${TIME}_bkup.log"
DEL_BAK=`date -d ‘10 days ago‘ ‘+%Y%m%d‘`
##To judge lock_file
if [[ -f $LOCK_FILE ]];then
exit 255
else
echo $$ > $LOCK_FILE
fi

##dump databases##
echo ${TIME} >> ${BKUP_LOG}
echo "=======Start Bakup============" >>${BKUP_LOG}
#${MYSQLDUMP} -h ${DB_hostname} -u${DB_USER} -p${DB_PASS} --databases ${DBNAME} | gzip -9 > ${BACKUP_DIR}/${TIME}.${DBNAME}.gz
${MYSQLDUMP} -h ${DB_hostname} -u${DB_USER} -p${DB_PASS} --databases ${DBNAME} |gzip -9 > ${BACKUP_DIR}/${TIME}.${DBNAME}.gz
echo "=======Finished Bakup============" >>${BKUP_LOG}
/bin/rm -f ${LOCK_FILE}

##del back 10 days before##
/bin/rm -f ${BACKUP_DIR}/${DEL_BAK}*.gz

上述备份也可以用其他方式!

下面讲述如何将备份是数据上传到FTP服务器上:

#!/bin/bash
ftp -n<<!
open 119.27.184.84 (连接到FTP服务器)
user root root66         (账号密码)
binary
hash
cd /FTP/Web                (上传到FTP服务器的目录)
lcd /www/backup/site     (本地备份数据的目录)
prompt
mput *
close
bye
!

以上是关于Linux服务器建站数据备份自动上传FTP服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux之FTP文件自动上传

ftp服务搭建脚本和客户端ftp自动上传脚本

Linux使用Shell脚本实现ftp的自动上传下载

Co. - Microsoft - Windows - 通过任务计划,备份本地MySQL,数据上传Linux备份服务器

linux ftp服务器不允许上传

用linux下的LAMP建站遇到问题,新上传的文件无权访问