通過sh指令碼將資料庫資料生成文字檔案並上傳ftp

2021-08-20 08:34:00 字數 1456 閱讀 5593

通過sh 指令碼將資料庫表 生成csv檔案並壓縮上傳ftp

source /etc/profile

export nls_lang=american_america.al32utf8

yyyy=`date "+%y"`

mm=`date "+%m"`

dd=`date "+%d"`

del_day=`date -d "1 days ago" "+%d"`

del_file="*$yyyy$mm$del_day.csv"

daydir="$yyyy$mm$dd"

deldir="$yyyy$mm$del_day"

put_gz="*.gz"

echo $datafile

basepath=$(cd `dirname $0`; pwd)

cd $basepath

#刪除當前目錄下已有的gz檔案,如果不刪除,後面分割做tar的時候,就會有問題

rm *.gz -f

#無線網路控制器

datafile_test="test.csv"

tar_test="test_"

sqlplus -s dbuser/dbpwd@servicename

set echo off

set feedback off

set heading off

set pagesize 0

set linesize 1000

set numwidth 20

set termout off

set timing off

set trimout on

set trimspool on

set null null

spool $datafile_test

select 'sid,sname' from dual;

select sid||','||sname from test;

spool off;

eoftar czf - $datafile_test|split -d -a 1 -b 200m - $tar_test&&ls|grep $tar_test |xargs -n1 -i{} mv {} {}.tar.gz

ftp -inv 127.0.0.1

lcd $basepath

cd 要上傳的ftp目錄

mkdir $daydir #建立 新的日期目錄

cd $daydir

mput $put_gz

cd ..

cd $deldir #刪除昨天的資料

mdel *

cd ..

rmdir $deldir

byeeof

find *.csv -mtime +3 -exec rm -f {} \;

將資料庫連線提取成檔案

1.新建乙個sql.properties檔案,內容如下。driver com.mysql.jdbc.driver url jdbc mysql user root pwd root 2.使用io讀取檔案資訊。inputstream in getclass getclassloader getreso...

資料庫 大叔通過指令碼生成poco實體

今天在做開發時,需要把錶對映成實體,又沒有ef這種工具,就從網上下了乙個工具,但使用時覺得太重了,所以就自己寫了乙個,基於mysql的。功能 輸入表名,得到這個表的poco實體 select column type,concat public case when left column type,3...

資料庫 大叔通過指令碼生成poco實體

今天在做開發時,需要把錶對映成實體,又沒有ef這種工具,就從網上下了乙個工具,但使用時覺得太重了,所以就自己寫了乙個,基於mysql的。功能 輸入表名,得到這個表的poco實體 select column type,concat public case when left column type,3...