MySQL定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份數據。
◆1、創建備份文件夾
#cd /www
#makedir backup
◆2、編寫運行腳本
#vi autobackup
寫入以下內容:
filename=`date +%Y%m%d`
mysql_bin_dir/mysqlmp _opt dataname -u user -ppassword | gzip
/www/mysqlbackup/name$filename.gz
保存退枝褲出
說明:
(1)mysql_bin_dir:mysql的bin路徑;
(2)dataname:資料庫名;
(3)user:資料庫用戶名;
(4)password:陸搭歲用戶密碼;
(5)name:早睜自定義備份文件前綴標識。
如上例,將自動備份mysql資料庫,並以gzip壓縮方式存儲,文件名為name20080101.gz的形式。
◆3、為腳本添加執行許可權
#chmod +x autobackup
◆4、讓crontab來完成定期執行的任務
這一步中,Redhat的方法會不一樣,後面專門給出。
編輯crontab:
#vi /etc/crontab
在最後一行中加入:
01 5 * * * root /www/autobackup
每天5點運行腳本,也可以修改5為其他指定時間。
Redhat方法:
Redhat的crontab採用按時間調用4個目錄(/etc/cron.hourly:每小時;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運行的方式。
Redhat中只需要將剛才編輯的腳本復制到相應的目錄即可。
◆5、重啟crontab
#/etc/rc.d/init.d/crond restart
完成。
㈡ 在linux怎麼備份資料庫表
1:打開的資料庫的命令
mysql> use mysql
Database changed
2:查看資料庫的命令
mysql> show databases;
3:查看資料庫中表的命令
mysql> show tables;
4:查看錶的詳細結構
mysql> desc tablename;
5:新建資料庫
mysql> create database school;
Query OK, 1 row affected (0.00 sec)
6:新建表
mysql> create table user01(
-> id varchar(20) NOT NULL,
-> userName varchar(10) NOT NULL,
-> age int(11) default'0',
-> sex char(2) NOT NULL default'm',
-> PRIMARY KEY (id)
-> )TYPE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;
7:插入
mysql> insert into student(id,stuName) values('1','tomcat');
Query OK, 1 row affected (0.00 sec)
8:刪除
mysql> delete from student where id='1';
Query OK, 1 row affected (0.01 sec)
9:刪除表中所有數據
mysql> truncate table student;
Query OK, 1 row affected (0.01 sec)
10:創建新用戶並給予許可權
mysql>grant all privileges on *.* to dbsync@"127.0.0.1" identified by "1234";
11:更改Mysql用戶密碼
c:\Mysql5.0\bin>mysqladmin -u root -p password 1234
Enter password: ****
備份資料庫及表
我們用mysqlmp命令來備份資料庫
c:\mysql\bin\>mysqlmp –u root –p 3306 mysql>d:\backup.sql
執行此語句將把mydb 備份到D盤的backup.sql文件中
備份多個資料庫表
㈢ 如何在Linux下實現DB2資料庫備份和恢復
以下的文章主要向大家講述的是在Linux操作系統的環境下實現DB2資料庫備份和恢復的操作步驟,以下就是對Lin操作系統的環境下實現DB2資料庫備份和恢復的操作步驟配判的描述,希望在你今後的學習中會有所幫助。 通過如下備份腳本備份的資料庫進行恢復 備份腳本: . /home/db2admin/sqllib/db2profile db2 backup db datedb online to /dbbackup/date include logs cd /dbbackup/datetoday=`date +」%Y%m%d」` file1=」差遲*$today*」 ftpfile=`ls $file1` echo $ftpfile lftp -c 「open ftp地址;user 用戶名密碼@\$0; put $ftpfile」 find /dbbackup/date -ctime +15 -exec rm {} \; 恢復命令:通過root命令登錄到伺服器上後切換到資料庫用戶名下用su – db2admin命令。 進入到備份文件存放目錄 執行如下命令 [db2admin@localhost db2back]$ db2 restore db datedb from /hom 以上的相關內容就是對Linux環境下虛賣李DB2資料庫備份與恢復的介紹,望你能有所收獲。
㈣ linux 登錄mysql 後 怎麼備份
用命令實現備份
MySQLl提供了一個mysqlmp命令,我們可以用它進行數據備份。
按提示輸入密碼,這就把tm資料庫所有的表結構和# mysqlmp -u root -p tm > tm_050519.sql數據備份到tm_050519.sql了,因為要總進行備份工作,如果數據量大會佔用很大空間,這時可以利用gzip壓縮數據,命令如下:
# mysqlmp -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣恢復數據:
# mysqlmp -u root -p tm < tm_050519.sql
從壓縮文件直接恢復:
#gzip < tm_050519.sql.gz | mysqlmp -u root -p tm
當然,有很多MySQL工具提供更直觀的備份恢復功能,比如用phpMyAdmin就很方便。但我認為,mysqlmp是最基本、最通用的。
二、利用crontab,系統每天定時備份mysql資料庫
利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到敏悄備份的目的。
1、創建保存備份文件的路徑/var/backup/mysqlbak
# mkdir -p /var/backup/mysqlbak
2、創建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql.sh
#!/bin/bash
# mysql備份腳本
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"`
mkdir -p $dateDIR/data
for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases"橋帶渣 |
grep -v "Database" | grep -v "information_schema"`
do
/usr/local/www/mysql/bin/mysqlmp -uroot -plin31415926 $i |
gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
3、修改文件屬性,使其可執行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
# crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
#表示行正每天3點鍾執行備份
這樣每天就可以在/var/backup/mysqlbak下看到備份的sql文件 了!
㈤ LINUX下如何直接對MYSQL資料庫進行備份
MYSQL提供了數據導入與導出的兩個命令,分別是mysqlimport(導入)和
mysqlmp(導出或者轉儲)。詳細用法請網路一下。
㈥ linux系統上怎樣備份oracle資料庫
步驟以下:1、編寫備份資料庫的shell
1、創建保存shell文件的文件夾,2、文件內容為:#!/bin/sh
PATH=$PATH:$HOME/bin
export
PATH
ORACLE_BASE=/u01/app/oracle
export
ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export
ORACLE_HOME
ORACLE_SID=HRDB
export
ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export
PATH
exp
fact/fact
file=/backup/fact`date
+%y%m%d`.dmp
log=/backup/factlog`date
+%y%m%d`.log
shell文件編寫終了1、運行以上的shell文件看是不是能生成備份的.dmp文件,如果能則表示shell文件編寫成功
2、然後在此shell文件的所在終端輸入命令,將此文件授權讓root用戶可以履行:
3、命令為:chmod
+x
backup.sh
4、然後到root終端編寫定時備份的語句5、語句為:crontab
–e
6、輸入i
7、輸入10
17
,,,/home/backupscript/backup.sh
8、按下esc建,輸入:wq
退出並保存便可。
㈦ linux系統上怎麼備份oracle資料庫
步驟如下:
一、編寫備份資料庫的shell
1、創建保存shell文件的文件夾,
2、文件內容為:
#!/bin/sh
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=HRDB
export ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
exp fact/fact file=/backup/fact`date +%y%m%d`.dmp
log=/backup/factlog`date +%y%m%d`.log
shell文件編寫完畢
一、運行以上的shell文件
看是否能生成備份的.dmp文件,如果能則表示shell文件編寫成功
二、然後在此shell
文件的所在終端輸入命令,將此文件授權讓root用戶可以執行:
三、命令為:chmod +x backup.sh
四、然後到root終端編寫定時備份的語句
五、語句為:crontab –e
六、輸入i
七、輸入10 17 ,,,/home/backupscript/backup.sh
八、按下esc建,輸入:wq 退出並保存即可。
㈧ linux伺服器中如何登陸另一台Linux伺服器中的Oracle資料庫進行全庫備份
dataguard,stream replication,goldengate.....
方法很多,看你具體需求了
㈨ 如何在Linux伺服器中備份
linux系統下使用腳本定時備份資料庫,代碼如下:
#!/bin/bash
#Setting
#設置資料庫名,資料庫登錄名,密碼,備份路徑,日誌路徑,數據文件位置,以及備份方式
#默認情況下備份方式是mysqlmp,還可以是mysqlmp,mysqldot,如果注釋掉第
#18行,則默認以tag的方式備份
#默認情況下,用root(空)登錄mysql資料庫,備份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can』t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同時上傳ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打開一個編輯窗口,第一行會有內容格式的提示,在此輸入命令
//m h dom mon dow command
//具體意義表示:分鍾 小時 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期幾(dow)的幾點(h,24小時制)幾分(m)執行某個命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二點十分執行備份腳本)
㈩ linux自動備份網站和資料庫,到另外伺服器上,為當前用戶創建定時任務
linux自動備份網站和資料庫,到另外伺服器上,為當前用戶創建定時任務兩台伺服器111,和117伺服器,每天完成111伺服器上網站和資料庫自動備份到117伺服器上1:我的111伺服器上是當前用戶:sxA:
查看當前用戶的計劃任務:crontab
-l是查看當前用戶的任務用
vi
crontab
-e
是為sxw用戶創建一個計劃任務第一行:每天3點運行/home/sxw/rsync201.sh
shell腳本,第二行:和第三行是每天下午7點運行tar包,gaokaotong和phpcms文件第三行:每天7點22分運行/homesxw/back_up.sh
shell腳本,注意:這里是當前用戶sxw,所以要shell腳本路徑要有用戶sxw許可權,在這里/home/sxw/back_up
shell腳本,是當前用戶sxw用戶的家目錄。B:
111伺服器上/home/sxw/back_up.sh腳本code:-bash-3.2$
vim
/home/sxw/back_up.sh#!/bin/shecho
開始備份資料庫mysqlmp
-u
jeecms
-pjeecms1234
gktcms
>
gktcms.sqlmysqlmp
-u
jeecms
-pjeecms1234
phpcms
>
phpcms.sqlecho
備份資料庫完成,復制到117伺服器端scp
-P
10022
gktcms.sql
[email protected]:/home/zkscp
-P
10022
phpcms.sql
[email protected]:/home/zkscp
-r
-P
10022
/opt/www/www2/phpcms.tar.gz
[email protected]:/home/zk/scp
-r
-P
10022
/opt/www/www2/gaokaotong.tar.gz
[email protected]:/home/zk/echo
發送完成C:
還要在111上做ssh信任,這個可參照ssh資料。很簡單,只需要建立兩個密鑰。2:
117伺服器上/homezk/自動就會多出兩個tar包文件,phpcms.tar.gz
和gaokaotong.tar.gz這里每天自動保存兩個文件,phpcms.tar.gz
和
gaokaotong.tar.gz文件
這里做了一個shell腳本,保存前兩天的文件,跟上述111伺服器上的建立計劃任務一樣:A:
查看117的計劃任務:
crontabl
-lB:
在查看/home/zk/back.sh
的shell編寫code:[zk@DB2~]$
vi
/home/zk/back.sh#!/bin/shTARFILE=/home/zk/phpcms.tar.gzif
[
-f
$TARFILE
];then
mv
/home/zk/phpcms.tar.gz
/home/zk/phpcms_$(date
+%Y%m%d).tar.gz
#remove
date
file
DATE_B=$(date
-d2
day
ago
+%Y%m%d)
FILENAME=/home/zk/phpcms_$DATE_B.tar.gz
if
[
-f
$FILENAME
];then
rm
-rf
/home/zk/phpcms_$DATE_B.tar.gz
else
echo
沒有可刪除文件
fielse
echo
沒有源文件fi~
結束。