日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux新建备份数据库的脚本文件,Linux下shell脚本:自动每日备份网站文件和数据库上传FTP空间...

發布時間:2024/9/27 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux新建备份数据库的脚本文件,Linux下shell脚本:自动每日备份网站文件和数据库上传FTP空间... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

服務器、vps,難免會遇到各種問題,丟失數據,則必然痛心疾首啊!!!

數據無價,so建議養成定期備份的習慣!而且,要多備份幾份,本地、網盤、FTP空間等,都多保存幾份!

這里,就為大家帶來一個linux下,利用lftp作為上傳方式的shell腳本,配合系統crontab定時計劃任務實現每天自動備份網站數據,并上傳到FTP空間!

備份腳本

腳本內容如下:

#!/bin/bash

#建議使用root賬戶登錄執行本腳本

#賦予腳本執行權限 chmod +x BackupToFtp.sh

#修改相關賬戶和路徑配置

#開始

MYSQL_USER=root #mysql用戶名

MYSQL_PASS=123456 #mysql密碼

FTP_USER=ftpuser #ftp用戶名

FTP_PASS=123456 #ftp密碼

FTP_IP=123.123.123.123 #ftp地址

FTP_backup=backup #ftp上存放備份文件的目錄,請提前自己在ftp空間上創建

WEB_DATA=/home/www #要備份的網站數據目錄

MYSQL_PATH=/usr/local/mysql #MYSQL安裝路徑

DBNAME=dbname #要備份的數據庫名稱

LOCALbackup_path=/home/backup #本地備份文件存放路徑

#結束

#安裝FTP LFTP命令工具

echo "#---------------------------------------------------------------------#"

echo "正在ftp lftp客戶端工具...."

echo "默認適用CentOS,Debian等系統請先修改本腳本相應位置命令"

echo "若已經安裝,請忽略即可"

echo "installing Ftp Lftp...."

echo "#---------------------------------------------------------------------#"

yum install -y ftp lftp

#apt-get install-y ftp lftp

#設置數據庫備份文件的名字和舊數據庫備份文件的名字(舊:默認為5天前的)

DataBakName=Data_$(date +"%Y%m%d").tar.gz

OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz

#設置網站數據備份文件的名字和舊網站數據備份文件的名字(舊:默認為5天前的)

WebBakName=Web_$(date +%Y%m%d).tar.gz

OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz

#刪除本地5天前的備份數據

echo "#---------------------------------------------------------------------#"

echo "自動刪除本地5天前的備份數據文件...."

echo "Auto delete local backup data files 5 days ago...."

rm -rf $LOCALbackup_path/Data_$(date -d -5day +"%Y%m%d").tar.gz $LOCALbackup_path/Web_$(date -d -5day +"%Y%m%d").tar.gz

cd $LOCALbackup_path

#導出需要備份的數據庫為數據庫SQL格式

echo "#---------------------------------------------------------------------#"

echo "正在導出需要備份的 $DBNAME 數據庫sql備份文件...."

echo "Exporting you set database:$DBNAME to SQL file...."

$MYSQL_PATH/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS $DBNAME > $LOCALbackup_path/$DBNAME.sql

#壓縮數據庫文件并刪除sql文件

echo "正在壓縮打包數據庫sql備份文件...."

echo "Tar the Database SQL file to tar.gz And delete SQL file...."

tar zvcf $LOCALbackup_path/$DataBakName $LOCALbackup_path/.sql

rm -rf $LOCALbackup_path/.sql

#壓縮網站數據

echo "#---------------------------------------------------------------------#"

echo "正在壓縮打包網站程序文件...."

echo "Tar the WebData file to tar.gz...."

#tar zvcf $LOCALbackup_path/$WebBakName $WEB_DATA

cd $WEB_DATA

tar zvcf $LOCALbackup_path/$WebBakName *

#上傳到FTP空間

echo "#---------------------------------------------------------------------#"

echo "數據打包完成,開始登錄FTP空間...."

echo "Start to login to FTP...."

#先進入備份文件路徑

cd $LOCALbackup_path

#默認方式:鏡像同步,與下面的單個方式任選其一

#------------------------------------------------------------------

lftp -u $FTP_USER,$FTP_PASS -e "mirror -R --only-newer $LOCALbackup_path $FTP_backup" $FTP_IP << EOF

bye

EOF

#------------------------------------------------------------------

#單個文件上傳方式,請取消橫線內的注釋符#并注釋掉前面的默認方式

#------------------------------------------------------------------

#lftp -u $FTP_USER,$FTP_PASS $FTP_IP << EOF

#lftp << EOF

#open ftp://$FTP_USER:$FTP_PASS@$FTP_IP

#cd $FTP_backup

#echo "正在上傳數據庫備份文件...."

#echo "Uploading Database file...."

#put $DataBakName

#echo "正在上傳網站程序備份文件...."

#echo "Uploading WebData file...."

#put $WebBakName

#bye

#EOF

#------------------------------------------------------------------

echo "#---------------------------------------------------------------------#"

echo "上傳所有備份文件完成..."

echo "Upload all backup files complete..."

echo "請登錄FTP空間查看!"

echo "Please login to the FTP check!"

echo "#---------------------------------------------------------------------#"

腳本內容結束

emmm...請原諒博主英語比較差,大部分都是機翻過來的,懶得校正了!

自動備份

配合系統crontab定時計劃任務實現每天自動備份

命令:crontab -e

添加定時計劃內容:**00 00 * * * /BackupToFtp.sh**

(其中00 00為時間,格式:分/小時,可自行修改,例如:30 23,就是每天23.30運行這個腳本,/BackupToFtp.sh為腳本文件存放路徑)

結束語

結束語就是,沒有結束語!希望能幫到有需要的人吧!就是這樣!

總結

以上是生活随笔為你收集整理的linux新建备份数据库的脚本文件,Linux下shell脚本:自动每日备份网站文件和数据库上传FTP空间...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。