2007/06/11

SFS3學務系統資料備份與還原

備份的sh內容
vi /home/sfsbackup/sfsbackup.sh

backup_dir="/home/sfsbackup"

dir1="/var/www/html/sfs3"
dir2="/var/lib/mysql/sfs3"
targetfile1="sfs3html-"`date '+%d'`.tar.gz
targetfile2="sfs3data-"`date '+%d'`.tar.gz
tar zcvf $backup_dir/$targetfile1 $dir1
tar zcvf $backup_dir/$targetfile2 $dir2
databasename="sfs3"
rootpassword="???"
sqlfilename="sfs3sql-"`date '+%d'`.sql
mysqldump $databasename > $backup_dir/$sqlfilename -uroot -p$rootpassword
zip $backup_dir/$sqlfilename.zip $backup_dir/$sqlfilename
rm -rf $backup_dir/$sqlfilename
cd $backup_dir
host="遠端主機IP"
user="username"
password="???"
replace_dir="sfsbackup"
ftp -in << EOF
open $host
user $user $password
cd $replace_dir
bin
put $targetfile1
put $targetfile2
put $sqlfilename.zip
EOF

把sh寫到crontab裡面
crontab -e
add 30 4 * * * /home/sfsbackup/sfsbackup.sh

還原時把服務都先停掉,另外記得兩個gz檔要先移到根目錄下
#Centos 5-6
service httpd stop
service mysqld stop


#CENTOS7改
systemctl stop httpd

systemctl stop mariadb


解壓縮
tar zxvf sfs3htm日期.tar.gz
tar zxvf sfs3data日期.tar.gz

unzip sfs3sql-日期.sql.zip

要刪除資料庫 

#Centos5-6service mysqld start

#Centos7systemctl start mariadb

mysqladmin -u root -p drop sfs3

重新建立sfs3這個資料庫
mysqladmin -u root -p create sfs3



然後還原資料庫
mysql -u root -p sfs3 <> sfs3sql-日期.sql





有問題的話改
mysql -u root -p --default-character-set=latin1 sfs3 <> sfs3sql-日期.sql


-------
如果檔案一直有問題,要重匯出的話

檢查那些表有錯誤

myisamchk /var/lib/mysql/sfs3/*.MYI > /tmp/myisamchk.log

強制修復表錯誤
myisamchk --silent --force --fast --update-state /var/lib/mysql/sfs3/*.MYI

不管表錯誤強制匯出sql
mysqldump -u root -p --single-transaction --default-character-set=latin1 sfs3 > /root/sfs3_backup/sfs3_DB.sql

匯出指定語系

mysqldump -u root -p --default-character-set=latin1 sfs3 > /root/sfs3_backup/sfs3_DB.sql

手動匯出主程式
tar zcvf /root/sfs3_backup/sfs3_HTML.tar.gz /var/www/html/sfs3/
---------------------
最後別忘了
service httpd start
 
systemctl start  httpd.service

記得異機還原時,要去修改系統設定檔
vi /var/www/html/sfs3/include/config.php


把下面修正,還有upload的位址,跟mysql的帳號密碼
//學務管理首頁程式 URL (設定時,保留最後的 "/" )
$SFS_PATH_HTML ="設定成新的網址";

沒有留言:

張貼留言