備份的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 ="設定成新的網址";
沒有留言:
張貼留言