91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell怎么實現自動備份mysql和整站數據

發布時間:2021-07-27 23:44:45 來源:億速云 閱讀:159 作者:chen 欄目:開發技術

這篇文章主要介紹“shell怎么實現自動備份mysql和整站數據”,在日常操作中,相信很多人在shell怎么實現自動備份mysql和整站數據問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”shell怎么實現自動備份mysql和整站數據”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

案例一:shell+cron實現MySQL自動備份且自動刪除N天前備份

代碼如下:


#!/bin/sh
DUMP=/usr/local/mysql/bin/mysqldump
OUT_DIR=/home/ldl/xxx/backup/
LINUX_USER=ldl

DB_NAME=ldl
DB_USER=ldl
DB_PASS=xxx
#How much days backup most
DAYS=1

#Core of script
cd $OUT_DIR
DATE=`date +%Y_%m_%d`
OUT_SQL="$DATE.sql"
TAR_SQL="mysql_$DATE.tar.gz"
$DUMP --default-character-set=utf8 --opt -u$DB_USER -p$DB_PASS $DB_NAME > $OUT_SQL
tar -czf $TAR_SQL ./$OUT_SQL
rm $OUT_SQL
chown $DB_NAME:nobody ./$TAR_SQL
find ./ -name "mysql*" -type f -mtime +$DAYS -exec rm {} \;
+++++++++++++++++++++++++++++++++++++++++++++++++++++
mysqldump不用解釋了吧,注意-uuser -ppass這樣才可以,不能有空格。

代碼如下:

find ./ -name “mysql*” -type f -mtime +$DAYS -exec rm {} \;


這一句主要是在-mtime上-mtime +5表示5天前的文件,統一刪除

我的操作系統是CentOS 5.4,只要把腳本拷貝到/etc/cron.daily,并設置為相同的權限就可以執行了,不用再添加crontab。

案例二:CentOS下自動備份網站和數據庫的腳本并上傳至FTP

假定這臺服務器的網站目錄為:/home/www,數據庫程序路徑為:/usr/local/mysql/bin,數據庫名為:levil,ftp服務器為:ftphost,下面先來看完整的自動備份腳本(自動備份腳本保存位置為:/home/backup.sh):

代碼如下:


#!/bin/bash
cd /home
WebBakName=web_$(date +%y%m%d).tar.gz
tar zcvf $WebBakName www
SqlBakName=sql_$(date +%y%m%d).tar.gz
/usr/local/mysql/bin/mysqldump -uusername -ppassword levil>backup.sql
tar zcvf $SqlBakName backup.sql
ftp -nv ftphost << EOF
user ftpname ftppass
put $WebBakName
put $SqlBakName
quit
EOF
rm -f backup.sql $WebBakName $SqlBakName


下面來給大家一一講解:首先進入/home目錄,定義WebBakName變量為網站備份的文件名,文件名格式為web日期.tar.gz,定義SqlBakName變量為數據庫備份的文件名,文件名格式為sql日期.tar.gz,把整個網站目錄www打包到WebBakName文件名中,使用mysqldump導出指定數據庫內容到backup.sql,然后把數據庫備份打包到SqlBakName文件中,本機備份工作至此結束,如果你沒有足夠大的遠程ftp空間的話,可以直接把備份文件下載到本機,但我還是建議直接備份到另外一個服務器上的ftp空間中,做到完全自動化備份,這時你需要把腳本中的ftphost、ftpname和ftppass分別替換成你的ftp信息,整個備份過程就完成了。

接著輸入chmod +x backup.sh給腳本添加執行權限,再輸入:crontab -e編輯任務自動開始時間,比如我輸入:

00 05 1 /home/backup.sh 就代表每周1的上午5點整執行該自動備份操作。

在這一切完成之后,你可以先把自動任務時間改為當前的接近時間,看自動備份腳本是否工作正常,測試OK的話以后就不用擔心這臺服務器出現任何問題導致數據丟失了,當然如果你的數據更新比較頻繁的話,建議把自動備份時間調整為每日

到此,關于“shell怎么實現自動備份mysql和整站數據”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南澳县| 如东县| 金门县| 永靖县| 南郑县| 陇川县| 涟水县| 山丹县| 石门县| 大兴区| 民权县| 资讯| 高平市| 西林县| 滦南县| 栾川县| 陆良县| 中超| 石楼县| 肥西县| 广东省| 台山市| 麟游县| 吉隆县| 西吉县| 循化| 金沙县| 象州县| 舞钢市| 连云港市| 淄博市| 蚌埠市| 错那县| 秭归县| 太谷县| 弥勒县| 开江县| 齐河县| 台南县| 红安县| 玛沁县|