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

歡迎訪問 生活随笔!

生活随笔

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

数据库

linux 备份mysql并上传_linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)...

發(fā)布時間:2024/7/23 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 备份mysql并上传_linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#========================start shell 腳本============================

#!/bin/bash

#定義備份數(shù)據(jù)庫時使用的用戶名和密碼

db_user="root"

db_passwd="111111"

#定義FTP服務器地址、用戶名、密碼、目錄

ftp_url=113.108.8.80

ftp_user=ftpuser

ftp_passwd=111111

ftp_dir=/mysql_backup/xxxx

#數(shù)據(jù)庫備份的路徑

backup_dir=/home/mysqlbak

#當前日期

time=` date +%Y%m%d `

#得到所有數(shù)據(jù)庫名的sql

sql="show databases"

#得到所有數(shù)據(jù)庫名

declare databases=`mysql -u${db_user} -p${db_passwd} -e "${sql}"`

#循環(huán)數(shù)據(jù)庫名列表,執(zhí)行備份

for db_name in $databases

do

if [ $db_name != "Database" ] && [ $db_name != "information_schema" ] && [ $db_name != "mysql" ] && [ $db_name != "test" ]; then

echo " the item is $db_name"

/usr/bin/mysqldump -u$db_user -p$db_passwd -R -E -B $db_name > "$backup_dir/$db_name"_"$time.sql"

fi

done

#刪除備份目錄下早于七天前的文件

find $backup_dir -name '*.sql' -type f -mtime +7 -exec rm {} \;

#壓縮文件

cd $backup_dir

zip -m db_$time.zip *_$time.sql

#上傳文件

ftp -d -n <

open "$ftp_url"

user "$ftp_user" "$ftp_passwd"

passive

binary

cd $ftp_dir

lcd $backup_dir

prompt

put db_$time.zip

close

bye

!

#====================end shell 腳本======================

passive:開關被動模式,,這里上傳需要用主動模式,加上控制開關被動模式? 看情況加不加? ? ?如果上傳使用被動模式 則Entering Passive Mode報錯

binary:二進制傳輸

cd: 服務端cd? lcd:客戶端cd? put上傳單個 mput上傳多個 get下載單個 mget下載多個prompt多個提示

#========================start shell 腳本============================#!/bin/bash

#定義備份數(shù)據(jù)庫時使用的用戶名和密碼db_user="root"db_passwd="111111"

#定義FTP服務器地址、用戶名、密碼、目錄ftp_url=113.108.8.80ftp_user=ftpuserftp_passwd=111111ftp_dir=/mysql_backup/113.108.8.82

#數(shù)據(jù)庫備份的路徑backup_dir=/home/mysqlbak

#當前日期time=` date +%Y%m%d `

#得到所有數(shù)據(jù)庫名的sqlsql="show databases"

#得到所有數(shù)據(jù)庫名declare databases=`mysql -u${db_user} -p${db_passwd} -e "${sql}"`

#循環(huán)數(shù)據(jù)庫名列表,執(zhí)行備份for db_name in $databasesdoif [ $db_name != "Database" ] && [ $db_name != "information_schema" ] && [ $db_name != "mysql" ] && [ $db_name != "test" ]; thenecho " the item is $db_name"? ? ? ? /usr/bin/mysqldump -u$db_user -p$db_passwd -R -E -B $db_name > "$backup_dir/$db_name"_"$time.sql"fidone

#刪除備份目錄下早于七天前的文件find $backup_dir -name '*.sql' -type f -mtime +7 -exec rm {} \;

#壓縮文件cd $backup_dirzip -m db_$time.zip *_$time.sql

#上傳文件ftp -d -n <

#====================end shell 腳本======================

安裝crontab:

yum?install?crontabs

crontab -e 打開執(zhí)行計劃

0 10 * * * /home/baksh/bakupmysql.sh? 每天10點執(zhí)行這個腳本

minute???hour???day???month???week???command

其中:

minute:?表示分鐘,可以是從0到59之間的任何整數(shù)。

hour:表示小時,可以是從0到23之間的任何整數(shù)。

day:表示日期,可以是從1到31之間的任何整數(shù)。

month:表示月份,可以是從1到12之間的任何整數(shù)。

week:表示星期幾,可以是從0到7之間的任何整數(shù),這里的0或7代表星期日。

command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫的腳本文件。

sudo chmod 777 ××× (每個人都有讀和寫以及執(zhí)行的權限)

service crond reload

服務操作說明:

/sbin/service?crond?start?//啟動服務

/sbin/service?crond?stop?//關閉服務

/sbin/service?crond?restart?//重啟服務

/sbin/service?crond?reload?//重新載入配置

總結

以上是生活随笔為你收集整理的linux 备份mysql并上传_linux备份数据库并上传至远程服务器(定时执行shell进行ftp上传)...的全部內容,希望文章能夠幫你解決所遇到的問題。

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