【Shall脚本】定时在线备份上传
作者:gnuhpc
出處:http://www.cnblogs.com/gnuhpc/
服務器環境不同,部分設置也不同。
1.Windows環境:
對于定時功能,在C盤建立一個目錄DB2Backup,將以下bat腳本放入其中,使用DB2的任務中心設置一個OS腳本定時執行任務,調用這個自己寫bat腳本即可完成,相關bat腳本為:
@echo off
set ip=%1
set user=%2
set passwd=%3
set dbname=%4
for /l %%i in (1,1,4) do (
if "%1"=="" goto usage
if "%1"=="/?" goto usage
if "%1"=="help" goto usage
Shift
)
echo open %ip%> bugfree_ftp.ftp
echo user %user%>> bugfree_ftp.ftp
echo %passwd%>> bugfree_ftp.ftp
echo bin>> bugfree_ftp.ftp
echo prompt>> bugfree_ftp.ftp
echo cd pub>> bugfree_ftp.ftp
echo put %dbname%*>> bugfree_ftp.ftp
echo quit>> bugfree_ftp.ftp
start /b /wait ftp -n -s:bugfree_ftp.ftp
del %dbname%*
exit
:usage
echo Usage: ftpupload.bat IP Username Password Dbname
在任務中心中使用的腳本為
db2cmd
db2 CONNECT TO SAMPLE
db2 BACKUP DATABASE SAMPLE TO "C:/DB2Backup" WITHOUT PROMPTING
cd C:/DB2Backup
ftpupload.bat 9.123.108.154 ftp ftp sample
其中9.123.108.154為FTP地址,ftp是用戶名,第二個ftp是密碼,sample為數據庫名字
2.Linux環境
定時功能可以使用DB2的任務中心,也可以使用crontab
首先在/usr/local/bin下建立一個shell腳本ftpupload.sh,修改其權限為755
其內容為
#!/bin/bash
db2 CONNECT TO SAMPLE
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
db2 UNQUIESCE DATABASE
db2 TERMINATE
db2 DEACTIVATE DB SAMPLE
db2 BACKUP DATABASE SAMPLE TO "/tmp" WITHOUT PROMPTING
cd /tmp
ftp -n -v $1 << EOT
ascii
user $2 $3
prompt
cd pub
put $4*
bye
EOT
rm $4*
使用命令crontab -e 在其中加入一句:
00 18 * * 5 /usr/local/bin/ftpupload.sh 9.123.108.154 ftp ftp SAMPLE >/dev/null 2>&1 &
使用/etc/init.d/crond restart 重新更新一下定時任務就可以了
含義是在每周五的18:00 整以上述形式運行腳本進行備份和上傳。
?
作者:gnuhpc
出處:http://www.cnblogs.com/gnuhpc/
總結
以上是生活随笔為你收集整理的【Shall脚本】定时在线备份上传的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#开发Android应用的必备——Mo
- 下一篇: 利用Cobbler批量快速网络安装Cen