shell備份資料庫
⑴ XShell5裡面登陸了資料庫,如何將資料庫裡面的表或者整個資料庫備份導出來(和導入進去)
開始—運行—輸入「CMD」回車,然後直接寫入以下命令
導出的命令:
exp 用戶名/密碼@資料庫名 file=D:\database.dmp log=data.log
file後是寫得你導出的文件存放的路徑,database.dmp是你導出的文件,log是你導出日誌,便於查詢錯誤,不要也可以。例如 exp user/password@orcl file=d:\aaa.dmp
導入的命令:
imp 用戶名/密碼@資料庫名 file=D:\database.dmp full=y
full=y一定不要丟。
⑵ linux系統上怎麼備份oracle資料庫
exp適合oracle10g,從oracle 11g開始使用expdp工具。
⑶ 編寫一個shell腳本每天16:30備份mysql數據並壓縮打包(打包文件按照當天日期命名)放到/root/data下
#!/bin/bash
date=$(date-d'+0days''+%Y-%m-%d')#聲明一個變數,並賦值當天日期
cd/root/data#進入目錄
mkdir$date#創建目錄
mysqlmp-uusername-ppassworddb_name>$date"db_name.sql"#資料庫備份,修改用戶名密碼,還有要備份資料庫
tar-zcf$date".tar.gz"$date#壓縮打包
rm-rf$date#刪除源數據
保存為bak.sh,每天16:30備份定時任務,沒有crontab命令:yum install vixie-cron
chmod +x /.../bak.sh
crontab -e
30 16 * * * /.../bak.sh
⑷ 請使用shell編寫10倒序到1的操作語句和一個資料庫備份上腳本語句
倒序很容易,寫個循環然後遞減就可以了
備份就幫不了你了,不知道你是什麼資料庫呢?
⑸ shell腳本應該怎樣連接達夢資料庫,並備份達夢資料庫,然後執行sql腳本
達夢是什麼
⑹ 使用shell腳本備份資料庫。
在Linux上安裝MySQL並建立測試庫,編寫shell腳本對此庫使用mysqlmp進行定時備份和歷史備份文件清理(保留3天),注意腳本的通用性和擴展性
1 mysq資料庫的安裝
[sql] view plain
#安裝服務端
yum install mysql-server
yum install mysql-devel
#安裝客戶端
yum install mysql
#啟動mysql
service mysqld start 或 /etc/init.d/mysqld start
#停止mysql
service mysqld stop
#設置密碼
mysqladmin -u root password ***
#登錄mysql
mysql -u root -p
2 創建測試資料庫和表
[sql] view plain
<pre class="sql" name="code">#創建資料庫
create database users;
#創建表
create tablse student(
id integer auto_increment not null primary key,
name varchar(30) );
[sql] view plain
#插入一條數據
insert into student(name) values("congju");
[sql] view plain
#查看數據
select * from student;
3 mysqlmp用法
mysql自帶的工具,允許你以SQL命令集的形式將整個資料庫導出到一個單獨的文件中。
[sql] view plain
#將users資料庫備份到/root/user.mp文件中
mysqlmp -u root -p users > /root/users.mp
4 利用shell腳本實現對users資料庫的備份
[sql] view plain
#!/bin/bash
#保存備份個數
number=3
#備份保存路徑
backup_dir=/root/mysqlbackup
#日期
dd=`date +%Y%m%d`
#備份工具
tool=mysqlmp
#用戶名
⑺ shell怎麼備份文件
cd a/b/c
echo "start backup for 2014 files..."
tar czf 2014bak.tar.gz *2014*
echo "remove original 2014 files..."
rm -f *2014*
echo "done!"
「帶有2014的文件」
「文件名為1-30」
舉個文件名的例子來看看,這兩個條件是如何疊加的。
⑻ 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自動備份shell
#!/bin/bash
#Function:壓縮備份文件
src_dir="/data/"
bak_dir="/data.bak/"
while:
do
#現獲取所有的目錄
cd$src_dir&&dirs=`ls-l|egrep'^d'|awk'{print$NF}'`
fordirin$dirs:
do
tarzcf${dir}.tgz$dir#壓縮目錄
mv${dir}.tgz$bak_dir#移動壓縮包到備份目錄
done
sleep5#每5s鍾檢查一次
done
#!/bin/bash
#Function:解壓備份文件
src_dir="/data/"
bak_dir="/data.bak/"
while:
do
#現獲取所有的目錄
cd$bak_dir&&tgzs=`ls*.tgz`
fortgzin$tgzs:
do
tarxf$tgz-Csrc_dir#將壓縮包解壓到src_dir目錄下
rm-f$tgz#刪除壓縮包
done
sleep5#每5s鍾檢查一次
done
如上兩個腳本差不多,只不過壓縮和解壓的操作對調了一下,我臨時寫的,沒有測試過,僅供參考,希望對你有幫助
⑽ Linux 怎麼通過Shell腳本定時備份MySQL資料庫
PATH=$PATH:$HOME/bin #備份目錄 BackupPath="/home/mysql/backup" #備份文件名 BackupFile="dbbackup"$(date +%y%m%d_%H)".sql" #資料庫的用戶名及密碼 user="root" passwd="Welcome@123" #檢查備份目錄是否存在 if !(test -d $BackupPath) then mkdir $BackupPath fi #使用mysql提供的mysqlmp備份腳本 /usr/local/mysql/bin/mysqlmp -u$user -p$passwd --allow-keywords --default-character-set=utf8 --set-charset -R -A --master-data=2 >"$BackupPath"/"$BackupFile" #刪除三個月前的備份文件 find "$BackupPath" -name "dbbackup*[log,sql]" -type f -mtime +3 -exec rm -rf {} \;