久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯盟提供win764位系統下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 硬件教程 >

CentOS下自動備份網站和數據庫的腳本

來源:技術員聯盟┆發布時間:2018-11-20 06:19┆點擊:

  接觸CentOS已經有幾個月的時間了,使用了太久的windows在剛接觸linux命令行界面的時候還真有點不太適應,但到最后也就應了大家的那句話,跟linux接觸的時候越長,就越為她的簡潔高效而折服,我手上有一臺服務器安裝的操作系統是CentOS5.4,上面部署的有網站和數據庫應用,基本構架:centos+nginx+mysql+php,但由于網站數據比較多,自己手動備份的話太費時間,所以就打算做一個自動運行的腳本,幫助我在每周的指定時間備份網站內容和數據庫內容,用tar打包,然后再傳到我另外一個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的話以后就不用擔心這臺服務器出現任何問題導致數據丟失了,當然如果你的數據更新比較頻繁的話,建議把自動備份時間調整為每日。