如今不少朋友经过购买云服务器建站,有时候因为服务器系统的问题,没有及时作好网站数据的备份而致使数据的丢失。若是你手中还有其余云服务器或者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下。 [root@baicai_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 {} \; [root@baicai_web5 ~]# crontab -l #天天凌晨5点备份网站数据 0 5 * * * /bin/bash -x /Data/code-backup/web_code_backup.sh > /dev/null 2>&1 备份后的效果以下: [root@baicai_web5 ~]# ls /Data/code-backup/www.baidu.com/ www.baidu.com_20180517_174328.tar.gz [root@xqsj_web5 ~]# ls /Data/code-backup/www.51cto.com/ www.51cto.com_20180517_174409.tar.gz (2)数据库备份(自动删除10天前的备份文件) [root@baicaiPC crontab]# pwd /Data/Mysql_Bakup/crontab [root@baicaiPC 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
上述备份也能够用其余方式!mysql
下面讲述如何将备份是数据上传到FTP服务器上:web
#!/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 !