!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>通用Linux服务器备份网站和数据脚本 - backup.sh

通用Linux服务器备份网站和数据脚本 - backup.sh

无论我们使用哪个主机商,都需要注意的数据安全备份。我们可以每月备份一次,或者每周备份一次,或者每天备份。且我们可以备份的形式有很多种,比如我们可以每天手动备份、服务器环境自带的第三方对象存储备份,或者备份到邮箱中。甚至我们可以用这里通用的脚本备份。

毕竟不是所有的WEB环境都有自动备份的软件支持。这里我们可以用这个备份脚本 backup.sh 实现快速备份。

#!/bin/bash#Funciont: Backup website and mysql database#Author: licess#Website: https://lnmp.org#IMPORTANT!!!Please Setting the following Values!Backup_Home=\"/home/backup/\"MySQL_Dump=\"/usr/local/mysql/bin/mysqldump\"######~Set Directory you want to backup~######Backup_Dir=(\"/home/wwwroot/vpser.net\" \"/home/wwwroot/lnmp.org\")######~Set MySQL Database you want to backup~######Backup_Database=(\"lnmp\" \"vpser\")######~Set MySQL UserName and password~######MYSQL_UserName=\'root\'MYSQL_PassWord=\'yourrootpassword\'######~Enable Ftp Backup~######Enable_FTP=0# 0: enable; 1: disable######~Set FTP Information~######FTP_Host=\'1.2.3.4\'FTP_Username=\'vpser.net\'FTP_Password=\'yourftppassword\'FTP_Dir=\"backup\"#Values Setting END!TodayWWWBackup=www-*-$(date +\"%Y%m%d\").tar.gzTodayDBBackup=db-*-$(date +\"%Y%m%d\").sqlOldWWWBackup=www-*-$(date -d -3day +\"%Y%m%d\").tar.gzOldDBBackup=db-*-$(date -d -3day +\"%Y%m%d\").sqlBackup_Dir(){
    Backup_Path=$1    Dir_Name=`echo ${Backup_Path##*/}`
    Pre_Dir=`echo ${Backup_Path}|sed \'s/\'${Dir_Name}\'//g\'`
    tar zcf ${Backup_Home}www-${Dir_Name}-$(date +\"%Y%m%d\").tar.gz -C ${Pre_Dir} ${Dir_Name}}Backup_Sql(){
    ${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $1 > ${Backup_Home}db-$1-$(date +\"%Y%m%d\").sql}if [ ! -f ${MySQL_Dump} ]; then  
    echo \"mysqldump command not found.please check your setting.\"
    exit 1fiif [ ! -d ${Backup_Home} ]; then  
    mkdir -p ${Backup_Home}fiif [ ${Enable_FTP} = 0 ]; then
    type lftp >/dev/null 2>&1 || { echo >&2 \"lftp command not found. Install: centos:yum install lftp,debian/ubuntu:apt-get install lftp.\"; }fiecho \"Backup website files...\"for dd in ${Backup_Dir[@]};do
    Backup_Dir ${dd}doneecho \"Backup Databases...\"for db in ${Backup_Database[@]};do
    Backup_Sql ${db}doneecho \"Delete old backup files...\"rm -f ${Backup_Home}${OldWWWBackup}rm -f ${Backup_Home}${OldDBBackup}if [ ${Enable_FTP} = 0 ]; then
    echo \"Uploading backup files to ftp...\"
    cd ${Backup_Home}
    lftp ${FTP_Host} -u ${FTP_Username},${FTP_Password} << EOF
cd ${FTP_Dir}mrm ${OldWWWBackup}mrm ${OldDBBackup}mput ${TodayWWWBackup}mput ${TodayDBBackup}bye
EOF

echo \"complete.\"
Select Code

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

在linux vps中使用Best Trace路由追踪测试使用方法

2021-4-17 19:52:49

服务器教程

使用 pv 命令监控 linux 命令的执行进度

2021-4-17 19:52:51

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase