 |
VFP ·R¥ÎªÌªÀ°Ï ¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
|
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD |
µoªí¤H |
¤º®e |
Mark123
µù¥U®É¶¡: 2012-06-28 ¤å³¹: 6
²Ä 1 ¼Ó
|
µoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 14, 2012 3:23 pm ¤å³¹¥DÃD: ¦p¦ó¨ú±oFTP¦øªA¾¹¤W±Àɮתº¤é´Á®É¶¡? |
|
|
½Ð°Ý¦U¦ì¥ý¶i,§Ú¼g¤F¤@¤ä³Æ¥÷µ{¦¡,¨C¤Ñ±Æµ{¤U¸üFTPÀÉ®×,
*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
Integer hftpsession, String lpszsearchfile,;
string @lpfindfiledata, Integer dwflags, Integer dwcontent
*** §ä¤U¤@ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
Integer hfind, String @lpvfinddata
§Ú¥Î¤F¥H¤W¤èªk¨ú±oÀɮצWºÙ.
½Ð°Ý§Ún¥Î¤°»ò¤èªk¨ú±oÀɮתº¤é´Á? ÁÂÁÂ! ³o¼Ë§Ú¤~¯àª¾¹DÀɮ׬O¤£¬O³Ì·sªº. |
|
¦^³»ºÝ |
|
 |
ckp6250
µù¥U®É¶¡: 2004-07-30 ¤å³¹: 1645
²Ä 2 ¼Ó
|
µoªí©ó: ¬P´Á¥| ¤Q¤@¤ë 15, 2012 3:58 pm ¤å³¹¥DÃD: |
|
|
wininet À³¸Ó¦³ ftpcommad ¥i¥Î§a
¤U ls «ü¥O , À³¸Ó¯à¶Ç¦^ÀɮײM³æ |
|
¦^³»ºÝ |
|
 |
Mark123
µù¥U®É¶¡: 2012-06-28 ¤å³¹: 6
²Ä 3 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤Q¤@¤ë 16, 2012 10:11 am ¤å³¹¥DÃD: |
|
|
¤£¦n·N«ä,§Ú½Xµ{¦¡½X¶K¥X¨Ó¤~¤ñ¸û²M·¡!!!
¥N½X: |
Set Dele On && ¤w¸g§R°£ªº¸ê®Æ¤£Åã¥Ü
Set Safe Off && ÀÉ®×IO®É¤£¸ß°Ý,ª½±µ°Ê§@
Set Date ymd && ¤é´Á®æ¦¡: yyyy-mm-dd
Set Hours To 24 && ®É¶¡¬°24¤p®É¨î
Set Century On && ¤é´Á®æ¦¡¤¤,¦~¥÷³]©w¬°¥|½X
Set Mark To '-' && ¤é´Á¤À¹j²Å¸¹,¨Ò¦p 2010-11-01
Set enginebehavior 70 && ¦V¤U¬Û®efoxpro¦´Áª©¥»µ{¦¡»yªk
On Error * && ·í¦³¥ô¦ó¿ù»~ªº®ÉÔ¤£°µ¥ô¦ó¨Æ, *¬P¸¹¬Oµù¸Ñ,µù¸Ñ´N¥Nªí¤°»ò³£¤£°µ
Close Databases All && Ãö³¬©Ò¦³¶}±Òªº¸ê®Æ®w
*=MESSAGEBOX(SYS(5)+SYS(2003))
m_date=Date()-1 && «e¤@¤Ñ
m_user=Upper(Alltrim(Right(Sys(0),Len(Sys(0))-At('#',Sys(0)))))
m_pcname=Upper(Alltrim(Left(Sys(0),At('#',Sys(0))-1)))
m_prgname='¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷'
sss=Seconds() && °O¿ý¶}©l°õ¦æªº®É¶¡
Create Cursor temp01 (¥\¯à c(10),¤ÀÃþ c(4),¸ê®Æ§¨ c(100)) && ³Æ¥÷¸ê®Æ§¨°O¿ýÀÉ, ¥Î¨ÓÀx¦s backup_init.txt ¤º®e
*APPEND FROM Backup_init.txt DELIMITED WITH _ WITH CHARACTER ,
Append From backup_init.txt Delimited With Character , && Ū¨ú backup_init.txt ÀÉ®×,¸Ì±°O¿ý³Æ¥÷n¥Îªº¸ê®Æ§¨
*****backup_init.txt ¬O¥Î¨ÓÀH®É§ïÅܳƥ÷¦ì¸mªº,½Ð±Nbackup_init.txt2ÀÉ®×»P¦¹µ{¦¡©ñ¦b¦P¤@¸ê®Æ§¨
*****backup_init.txt ¤º®e¦p¤U¤T¦C(¤£§t«e±5Ó¬P¸¹)
*****informix,FTP,/u1/EXPORT/smz.exp/
*****informix,¼È¦s,D:\Backup\informix¸ê®Æ®w\smz.exp
*****informix,¥Øªº,E:\Backup\informix¸ê®Æ®w
*=================================================================================================
***** ·Ç³Æ FTP ³s½u
***** «Å§i wininet.dll
*** ¶}±Ò internet ³sµ²
Declare Integer InternetOpen In wininet;
string sAgent,;
integer lAccessType,;
string sProxyName,;
string sProxyBypass,;
string lFlags
*** Ãö³¬ internet ³sµ²
Declare Integer InternetCloseHandle In wininet ;
integer hInet
*** ³sµ² ftp or http
Declare Integer InternetConnect In wininet;
integer hInternetSession,;
string sServerName,;
integer nServerPort,;
string sUsername,;
string sPassword,;
integer lService,;
integer lFlags,;
integer lContext
*** ¤U¸ü ftp ÀÉ®×
Declare Integer FtpGetFile In wininet;
integer hFtpSession, ;
string lpszRemoteFile,;
string lpszNewFile,;
integer fFailIfExists,;
integer dwFlagsAndAttributes,;
integer dwFlags,;
integer dwContext
*** ¨ú±o ftp ¥Ø¿ý¸ê®Æ
Declare Integer FtpGetCurrentDirectory In wininet;
Integer hftpsession, String @lpszdir, Integer @lpdwcurdir
*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
Integer hftpsession, String lpszsearchfile,;
string @lpfindfiledata, Integer dwflags, Integer dwcontent
*** §ä¤U¤@ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
Integer hfind, String @lpvfinddata
*** «Ø¥ß¥»¾÷¸ê®Æ§¨
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¼È¦s' && §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
m_path=Alltrim(¸ê®Æ§¨) && ¦pªG§ä¨ì, «h¨Ï¥Î¸Ó¸ê®Æ§¨³Æ¥÷¥¼À£ÁYªºÀÉ®×
Else
m_path='D:\Backup\informix¸ê®Æ®w\smz.exp' && §ä¤£¨ì, ´N¥Î¹w³]ªº¸ê®Æ§¨ (¨Ò¦p: d:\Backup\informix¸ê®Æ®w\smz.exp)
Endif
If !Directory(m_path) && Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
Md &m_path && «Ø¥ß¸ê®Æ§¨
Else
m_comm='run del '+m_path+' /q' && §R°£¸ê®Æ§¨¤ºªºÀÉ®×
&m_comm
Endif
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¥Øªº'
If Found()
m_path1=Alltrim(¸ê®Æ§¨)
Else
m_path1='E:\Backup\informix¸ê®Æ®w' && ³Æ¥÷Àɮ׸ô®| (¨Ò¦p: E:\Backup\informix¸ê®Æ®w\)
Endif
If !Directory(m_path1) && Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
Md &m_path1 && «Ø¥ß¸ê®Æ§¨
Endif
***** ¶}©l³s½u
sagent = "vfp7" && ¦Ûq¤@Ó¦WºÙ(ÀH«K)
sproxyname = 0 && ¤£¨Ï¥ÎProxy server -->vb ¤£¬O chr(0) ¬O¥Î null
sproxybypass = 0 && ¤£¦^´_°T®§
lflags = 0 && ¹w³]È
* ¶}±Ò³sµ² («Ø¥ß internet session)
hopen = internetopen (sagent, 1, sproxyname, sproxybypass, lflags)
* ³]©wµn¤Jªº¨Ï¥ÎªÌ¦WºÙ
strhost = '10.0.1.99' && nµn¤Jªºftp¦ì§}©Î¦WºÙ
port=21 && ftp ªº³q°T°ð
struser = 'test' && ¨Ï¥ÎªÌ¦WºÙ
strpwd = 'test' && ±K½X
************** ³s½u¦Ü ftp
*!* hFtpSession = InternetConnect (hOpen, strHost, port, strUser, strPwd, INTERNET_SERVICE_FTP, 0, 0)
hftpsession = internetconnect (hopen, strhost, port, struser, strpwd, 1, 0, 0)
If hftpsession = 0
Return
Endif
*** ¤U¸ü ftp ÀÉ®×
If hopen>0 And hftpsession>0
lpfindfiledata = Repli (Chr(0), 320) && lpfindfiledata = 320Óchr(0)
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='FTP' && §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
ftpdir=Alltrim(¸ê®Æ§¨) && FTP Server ªºÀɮ׸ô®|
Else
ftpdir='/u1/EXPORT/smz.exp/' && FTP Server ªºÀɮ׸ô®|
Endif
lcmask=Alltrim(ftpdir)+'*.*'
hfind = ftpfindfirstfile(hftpsession,lcmask,@lpfindfiledata,16,0) && ¨ú±o²Ä¤@ÓÀÉ®×
If hfind>0 && §PÂ_¬O§_§ä¨ì²Ä¤@ÓÀÉ®×
Select 0 && ¤Á´«¦ÜªÅªº¤u§@°Ï
Create Cursor temp00 (filename c(20),filesize i,filetime T,fileattrib c(100),dl c(4)) && «Ø¥ßCursor
m_filename=Alltrim(Substr(lpfindfiledata, 45,250))
If At(Chr(0), m_filename) <> 0
m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
Endif
Insert Into temp00 (filename) Values (m_filename) && ±NÀɮצWºÙ¼g¤JCursor
lnfound =1 && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[, ±q¤@¶}©l ,¦]¬°ftpfindfirstfile¤w¸g§ä¨ì²Ä¤@ÓÀÉ®×
Do While .T. && ¶}©l§ä´M¤U¤@ÓÀÉ®×
If internetfindnextfile (hfind, @lpfindfiledata) <> 1 && §PÂ_¬O§_§ä¨ì¤U¤@ÓÀÉ®×
Exit && §ä¤£¨ì, ¸õ¥X°j°é
Else
lnfound = lnfound + 1 && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[
m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
If At(Chr(0), m_filename) <> 0
m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
Endif
Insert Into temp00 (filename) Values (m_filename) && ±NÀɮצWºÙ¼g¤JCursor
Endif
Enddo
Select temp00 && ¤Á´«¨ìCursor
Scan &&±Ntemp00¸ê®Æªí³vµ§¶]¹L¤@¦¸
lpszremotefile=ftpdir+Alltrim(Lower(temp00.filename)) && ¨Ó·½ÀÉ
*Wait Windows notes+'/'+lpszremotefile Nowait && ±NÀɮצWºÙÅã¥Ü¦bµe±,³o¬OnºÊ¬Ý¥Îªº,Åý§Aª¾¹D¥¿¦b¤U¸ü¨º¤@ÓÀÉ®×
lpsznewfile=m_path+'\'+Alltrim(Lower(temp00.filename)) && ¥ØªºÀÉ
lnresult=ftpgetfile (hftpsession, lpszremotefile, lpsznewfile, 0, 128, 2, 0) && ¶}©l¤U¸ü
If lnresult>0 && §PÂ_¬O§_¦¨¥\, >0¦¨¥\ ,¼g¤Jtemp01
Replace dl With '¦¨¥\' In temp00 && ¼g¤JdlÄæ¦ì, ¨Ñ¥H«á§PÂ_¦¨¥\»P§_
Else
Replace dl With '¥¢±Ñ' In temp00
Endif
Endscan
Copy To m_path+'\log00' && °O¿ýÀɦs©ñ¤U¸ü°O¿ý ,D:\Backup\informix¸ê®Æ®w\smz.exp\log00.dbf
Endif
Endif
= internetclosehandle (hopen) && Ãö³¬FTP³s½u
*=================================================================================================
*** ©I¥sWinRAR À£ÁYÀÉ®×
*If Os()='Windows 6.01' && ¨ú±o§@·~¨t²Î¬O¤£¬O Windows2008R2 64¦ì¤¸ª©?
Do Case
Case File("C:\Program Files (x86)\winrar\winrar.exe") && 64¦ì¤¸§@·~¨t²ÎWinRAR©ñ¦b¦¹¸ê®Æ§¨,¤½¥q¦øªA¾¹Windows2008R2¬O64¦ì¤¸,©Ò¥H·|¦³¦¹°ÝÃD
Set Default To "C:\Program Files (x86)\winrar" && ¤Á´«µ{¦¡¸ô®|¦Ü C:\Program Files (x86)\winrar
Case File("C:\Program Files\winrar\winrar.exe")
Set Default To "C:\Program Files\winrar" && ¤Á´«µ{¦¡¸ô®|¦ÜC:\Program Files\winrar
Endcase
aaa='run winrar a -m5 '+m_path1+'\smz_'+Dtos(m_date)+'.rar '+m_path && ±N©R¥O¥]¦¨¦r¦ê,©R¥O¤º®e¬O°õ¦æDOS¼Ò¦¡ ,«e±ªºRUN¥Nªí©I¥sDOS¼Ò¦¡,«á±±µµÛwinrar©R¥O
&aaa && ¥¨¶°´À¥N,°õ¦æ¦r¦êªº¤º²[ (¤]´N¬O§â¦r¦êÅܦ¨©R¥O°õ¦æ)
Select filename,dl From temp00 Order By dl,filename Into cursor temp88 && ¨Ì·Ó¤U¸ü¦¨¥\»P§_±Æ§Ç
***** ¼g¤JSQL
=SQLSetprop(0,"DispLogin",3)
conn9=Sqlstringconnect('DRIVER=SQL Server;SERVER=192.168.1.1;uid=test;PWD=test;DATABASE=test')
If conn9>0
lc_sss=Alltrim(Str(Seconds()-sss,10,3)) && pºâ°õ¦æ¬í¼Æ
*** «÷´êHTML
aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦bâ±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
aaa=aaa+"<br>¥Ø«e®É¶¡: "+Ttoc(Datetime())
aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
aaa=aaa+'<table bordercolor="black" border="1">'
aaa=aaa+'<td>§Ç¸¹</td><td>ÀɮצWºÙ</td><td>¬O§_§¹¦¨</td>'
*** «÷´êHTMLªº¦C(Row;Record)
Select temp88 && ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí)
Scan && °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
If dl='¥¢±Ñ'
aaa=aaa+'<tr BGCOLOR=red>'
Else
aaa=aaa+'<tr>'
Endif
aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
aaa=aaa+'</tr>' && ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
Endscan
aaa=aaa+'</table><br><br>'
*** ¼g¤Jµo«H¾÷¨î,±Æµ{µo«H
=SQLExec(conn9,"insert into °e«H¾ã¦X«H¥ó¤º®e (¹q¸£¦WºÙ,¤ñ¹ï¹q¸£¦WºÙ,µ{¦¡¦WºÙ,¥D¦®,¤º®e,«H¥ó®æ¦¡) values (?m_pcname,0,?m_prgname,'"+m_prgname+'_'+Dtoc(m_date)+"',?aaa,'html')") && ¹ïSQL°õ¦æSQL©R¥O
=SQLDisconnect(conn9)
Endif
|
½Ð°Ý,§Ún¦p¦ó§âCursor temp00.filetime Äæ¦ìªºÈ¶ñ¥¿½T? |
|
¦^³»ºÝ |
|
 |
Mark123
µù¥U®É¶¡: 2012-06-28 ¤å³¹: 6
²Ä 4 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤Q¤@¤ë 16, 2012 10:30 am ¤å³¹¥DÃD: |
|
|
À³¸Ó³o¼Ë»¡,
¥H¤U¬Oµ{¦¡°õ¦æ«áµo¥Xªº«H¥ó¤º®e(¬O¥t¤@¤äµ{¦¡t³dµo«H).
¥Ø«e¤º®e¯Ê¤Ö¤FÀɮ׳̫á¼g¤J®É¶¡,µLªk§PÂ_«e¤@¤Ñinformix³Æ¥÷¬O§_¦³°µ?
¨C¤Ñ³Æ¥÷290ÓÀÉ®×,n²M·¡ªº¿ëÃѤU¸ü¦¨¥\»P§_? Àɮפé´Á¬O¤£¬O³Ì·sªº?
***«H¥ó¤º®e
³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!
µ{¦¡¦WºÙ: ¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷
µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY
°õ¦æªº¹q¸£:SEAL-SRV
¥Ø«e®É¶¡: 2012-11-16 05:00:00
°õ¦æ¬í¼Æ: 509.027§Ç¸¹ ÀɮצWºÙ ¬O§_§¹¦¨
1 xxx00378.unl ¦¨¥\
2 xxx00367.unl ¦¨¥\
3 xxx00363.unl ¦¨¥\
4 xxx00317.unl ¦¨¥\
5 ... |
|
¦^³»ºÝ |
|
 |
elleryq

µù¥U®É¶¡: 2007-06-21 ¤å³¹: 768
²Ä 5 ¼Ó
|
|
¦^³»ºÝ |
|
 |
Mark123
µù¥U®É¶¡: 2012-06-28 ¤å³¹: 6
²Ä 6 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤Q¤@¤ë 16, 2012 10:48 pm ¤å³¹¥DÃD: |
|
|
ÁÂÁÂelleryq¦^ÂÐ,
¥H¤U¬O§Ú§ï§¹¦¨ªºµ{¦¡½X.
¥N½X: |
Set Dele On && ¤w¸g§R°£ªº¸ê®Æ¤£Åã¥Ü
Set Safe Off && ÀÉ®×IO®É¤£¸ß°Ý,ª½±µ°Ê§@
Set Date ymd && ¤é´Á®æ¦¡: yyyy-mm-dd
Set Hours To 24 && ®É¶¡¬°24¤p®É¨î
Set Century On && ¤é´Á®æ¦¡¤¤,¦~¥÷³]©w¬°¥|½X
Set Mark To '-' && ¤é´Á¤À¹j²Å¸¹,¨Ò¦p 2010-11-01
Set enginebehavior 70 && ¦V¤U¬Û®efoxpro¦´Áª©¥»µ{¦¡»yªk
On Error * && ·í¦³¥ô¦ó¿ù»~ªº®ÉÔ¤£°µ¥ô¦ó¨Æ, *¬P¸¹¬Oµù¸Ñ,µù¸Ñ´N¥Nªí¤°»ò³£¤£°µ
Close Databases All && Ãö³¬©Ò¦³¶}±Òªº¸ê®Æ®w
*=MESSAGEBOX(SYS(5)+SYS(2003))
m_date=Date()-1 && «e¤@¤Ñ
m_user=Upper(Alltrim(Right(Sys(0),Len(Sys(0))-At('#',Sys(0)))))
m_pcname=Upper(Alltrim(Left(Sys(0),At('#',Sys(0))-1)))
m_prgname='¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷'
sss=Seconds() && °O¿ý¶}©l°õ¦æªº®É¶¡
Create Cursor temp01 (¥\¯à c(10),¤ÀÃþ c(4),¸ê®Æ§¨ c(100)) && ³Æ¥÷¸ê®Æ§¨°O¿ýÀÉ, ¥Î¨ÓÀx¦s backup_init.txt ¤º®e
*APPEND FROM Backup_init.txt DELIMITED WITH _ WITH CHARACTER ,
Append From backup_init.txt Delimited With Character , && Ū¨ú backup_init.txt ÀÉ®×,¸Ì±°O¿ý³Æ¥÷n¥Îªº¸ê®Æ§¨
*****backup_init.txt ¬O¥Î¨ÓÀH®É§ïÅܳƥ÷¦ì¸mªº,½Ð±Nbackup_init.txt2ÀÉ®×»P¦¹µ{¦¡©ñ¦b¦P¤@¸ê®Æ§¨
*****backup_init.txt ¤º®e¦p¤U¤T¦C(¤£§t«e±5Ó¬P¸¹)
*****informix,FTP,/u1/EXPORT/smz.exp/
*****informix,¼È¦s,D:\Backup\informix¸ê®Æ®w\smz.exp
*****informix,¥Øªº,E:\Backup\informix¸ê®Æ®w
*=================================================================================================
***** ·Ç³Æ FTP ³s½u
***** «Å§i wininet.dll
*** ¶}±Ò internet ³sµ²
Declare Integer InternetOpen In wininet;
string sAgent,;
integer lAccessType,;
string sProxyName,;
string sProxyBypass,;
string lFlags
*** Ãö³¬ internet ³sµ²
Declare Integer InternetCloseHandle In wininet ;
integer hInet
*** ³sµ² ftp or http
Declare Integer InternetConnect In wininet;
integer hInternetSession,;
string sServerName,;
integer nServerPort,;
string sUsername,;
string sPassword,;
integer lService,;
integer lFlags,;
integer lContext
*** ¤U¸ü ftp ÀÉ®×
Declare Integer FtpGetFile In wininet;
integer hFtpSession, ;
string lpszRemoteFile,;
string lpszNewFile,;
integer fFailIfExists,;
integer dwFlagsAndAttributes,;
integer dwFlags,;
integer dwContext
*** ¨ú±o ftp ¥Ø¿ý¸ê®Æ
Declare Integer FtpGetCurrentDirectory In wininet;
Integer hftpsession, String @lpszdir, Integer @lpdwcurdir
*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
Integer hftpsession, String lpszsearchfile,;
string @lpfindfiledata, Integer dwflags, Integer dwcontent
*** §ä¤U¤@ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
Integer hfind, String @lpvfinddata
*** ¨ú±oÀɮפé´Á¸ê°T
Declare Integer FileTimeToSystemTime In kernel32.Dll;
STRING @lpFileTime, String @lpSystemTime
*** «Ø¥ß¥»¾÷¸ê®Æ§¨
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¼È¦s' && §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
m_path=Alltrim(¸ê®Æ§¨) && ¦pªG§ä¨ì, «h¨Ï¥Î¸Ó¸ê®Æ§¨³Æ¥÷¥¼À£ÁYªºÀÉ®×
Else
m_path='D:\Backup\informix¸ê®Æ®w\smz.exp' && §ä¤£¨ì, ´N¥Î¹w³]ªº¸ê®Æ§¨ (¨Ò¦p: d:\Backup\informix¸ê®Æ®w\smz.exp)
Endif
If !Directory(m_path) && Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
Md &m_path && «Ø¥ß¸ê®Æ§¨
Else
m_comm='run del '+m_path+' /q' && §R°£¸ê®Æ§¨¤ºªºÀÉ®×
&m_comm
Endif
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¥Øªº'
If Found()
m_path1=Alltrim(¸ê®Æ§¨)
Else
m_path1='E:\Backup\informix¸ê®Æ®w' && ³Æ¥÷Àɮ׸ô®| (¨Ò¦p: E:\Backup\informix¸ê®Æ®w\)
Endif
If !Directory(m_path1) && Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
Md &m_path1 && «Ø¥ß¸ê®Æ§¨
Endif
***** ¶}©l³s½u
sagent = "vfp7" && ¦Ûq¤@Ó¦WºÙ(ÀH«K)
sproxyname = 0 && ¤£¨Ï¥ÎProxy server -->vb ¤£¬O chr(0) ¬O¥Î null
sproxybypass = 0 && ¤£¦^´_°T®§
lflags = 0 && ¹w³]È
* ¶}±Ò³sµ² («Ø¥ß internet session)
hopen = internetopen (sagent, 1, sproxyname, sproxybypass, lflags)
* ³]©wµn¤Jªº¨Ï¥ÎªÌ¦WºÙ
strhost = '10.0.1.99' && nµn¤Jªºftp¦ì§}©Î¦WºÙ
port=21 && ftp ªº³q°T°ð
struser = 'test' && ¨Ï¥ÎªÌ¦WºÙ
strpwd = 'test' && ±K½X
************** ³s½u¦Ü ftp
*!* hFtpSession = InternetConnect (hOpen, strHost, port, strUser, strPwd, INTERNET_SERVICE_FTP, 0, 0)
hftpsession = internetconnect (hopen, strhost, port, struser, strpwd, 1, 0, 0)
If hftpsession = 0
Return
Endif
*** ¤U¸ü ftp ÀÉ®×
If hopen>0 And hftpsession>0
lpfindfiledata = Repli (Chr(0), 320) && lpfindfiledata = 320Óchr(0)
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='FTP' && §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
ftpdir=Alltrim(¸ê®Æ§¨) && FTP Server ªºÀɮ׸ô®|
Else
ftpdir='/u1/EXPORT/smz.exp/' && FTP Server ªºÀɮ׸ô®|
Endif
lcmask=Alltrim(ftpdir)+'*.*'
hfind = ftpfindfirstfile(hftpsession,lcmask,@lpfindfiledata,16,0) && ¨ú±o²Ä¤@ÓÀÉ®×
If hfind>0 && §PÂ_¬O§_§ä¨ì²Ä¤@ÓÀÉ®×
Select 0 && ¤Á´«¦ÜªÅªº¤u§@°Ï
Create Cursor temp00 (filename c(20),filesize i,filetime T,fileattrib c(100),dl c(4)) && «Ø¥ßCursor
If At(Chr(0), m_filename) <> 0
m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
Endif
Insert Into temp00 (filename) Values (m_filename) && ±NÀɮצWºÙ¼g¤JCursor
lnfound =1 && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[, ±q¤@¶}©l ,¦]¬°ftpfindfirstfile¤w¸g§ä¨ì²Ä¤@ÓÀÉ®×
Do While .T. && ¶}©l§ä´M¤U¤@ÓÀÉ®×
If internetfindnextfile (hfind, @lpfindfiledata) <> 1 && §PÂ_¬O§_§ä¨ì¤U¤@ÓÀÉ®×
Exit && §ä¤£¨ì, ¸õ¥X°j°é
Else
lnfound = lnfound + 1 && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[
m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
If At(Chr(0), m_filename) <> 0
m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
Endif
*** WIN32_FIND_DATA Âà´«
lcfiletime=Substr(lpfindfiledata, 21, 8)
lcsystemtime = Repli (Chr(0), 16)
= filetimetosystemtime (@lcfiletime, @lcsystemtime)
wyear = buf2num (lcsystemtime, 0, 2)
wmonth = buf2num (lcsystemtime, 2, 2)
wday = buf2num (lcsystemtime, 6, 2)
whour = buf2num (lcsystemtime, 8, 2)
wminute = buf2num (lcsystemtime, 10, 2)
wsecond = buf2num (lcsystemtime, 12, 2)
Set Date To Mdy
lcdate = Strtran (Str(wmonth,2) + "/" + Str(wday,2) + "/" + Str(wyear,4), " ","0")
lctime = Strtran (Str(whour,2) + ":" + Str(wminute,2) + ":" + Str(wsecond,2), " ","0")
ltresult = Ctot (lcdate + " " + lctime)
Set Date ymd
*** ±NÀɮצWºÙ¼g¤JCursor
Insert Into temp00 (filename,filetime) Values (m_filename,ltresult)
Endif
Enddo
Select temp00 && ¤Á´«¨ìCursor
Scan &&±Ntemp00¸ê®Æªí³vµ§¶]¹L¤@¦¸
lpszremotefile=ftpdir+Alltrim(Lower(temp00.filename)) && ¨Ó·½ÀÉ
*Wait Windows notes+'/'+lpszremotefile Nowait && ±NÀɮצWºÙÅã¥Ü¦bµe±,³o¬OnºÊ¬Ý¥Îªº,Åý§Aª¾¹D¥¿¦b¤U¸ü¨º¤@ÓÀÉ®×
lpsznewfile=m_path+'\'+Alltrim(Lower(temp00.filename)) && ¥ØªºÀÉ
lnresult=ftpgetfile (hftpsession, lpszremotefile, lpsznewfile, 0, 128, 2, 0) && ¶}©l¤U¸ü
If lnresult>0 && §PÂ_¬O§_¦¨¥\, >0¦¨¥\ ,¼g¤Jtemp01
Replace dl With '¦¨¥\' In temp00 && ¼g¤JdlÄæ¦ì, ¨Ñ¥H«á§PÂ_¦¨¥\»P§_
Else
Replace dl With '¥¢±Ñ' In temp00
Endif
Endscan
Copy To m_path+'\log00' && °O¿ýÀɦs©ñ¤U¸ü°O¿ý ,D:\Backup\informix¸ê®Æ®w\smz.exp\log00.dbf
Endif
Endif
= internetclosehandle (hopen) && Ãö³¬FTP³s½u
*=================================================================================================
*** ©I¥sWinRAR À£ÁYÀÉ®×
*If Os()='Windows 6.01' && ¨ú±o§@·~¨t²Î¬O¤£¬O Windows2008R2 64¦ì¤¸ª©?
Do Case
Case File("C:\Program Files (x86)\winrar\winrar.exe") && 64¦ì¤¸§@·~¨t²ÎWinRAR©ñ¦b¦¹¸ê®Æ§¨,¤½¥q¦øªA¾¹Windows2008R2¬O64¦ì¤¸,©Ò¥H·|¦³¦¹°ÝÃD
Set Default To "C:\Program Files (x86)\winrar" && ¤Á´«µ{¦¡¸ô®|¦Ü C:\Program Files (x86)\winrar
Case File("C:\Program Files\winrar\winrar.exe")
Set Default To "C:\Program Files\winrar" && ¤Á´«µ{¦¡¸ô®|¦ÜC:\Program Files\winrar
Endcase
aaa='run winrar a -m5 '+m_path1+'\smz_'+Dtos(m_date)+'.rar '+m_path && ±N©R¥O¥]¦¨¦r¦ê,©R¥O¤º®e¬O°õ¦æDOS¼Ò¦¡ ,«e±ªºRUN¥Nªí©I¥sDOS¼Ò¦¡,«á±±µµÛwinrar©R¥O
&aaa && ¥¨¶°´À¥N,°õ¦æ¦r¦êªº¤º²[ (¤]´N¬O§â¦r¦êÅܦ¨©R¥O°õ¦æ)
Select filename,filetime,dl From temp00 Order By dl,filename Into Cursor temp88 && ¨Ì·Ó¤U¸ü¦¨¥\»P§_±Æ§Ç
***** ¼g¤JSQL
=SQLSetprop(0,"DispLogin",3)
conn9=Sqlstringconnect('DRIVER=SQL Server;SERVER=192.168.1.1;uid=test;PWD=test;DATABASE=test')
If conn9>0
lc_sss=Alltrim(Str(Seconds()-sss,10,3)) && pºâ°õ¦æ¬í¼Æ
*** «÷´êHTML
aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦bâ±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
aaa=aaa+"<br>¥Ø«e®É¶¡: "+Ttoc(Datetime())
aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
aaa=aaa+'<table bordercolor="black" border="1">'
aaa=aaa+'<td>§Ç¸¹</td><td>ÀɮצWºÙ</td><td>Àɮ׮ɶ¡</td><td>¬O§_§¹¦¨</td>'
*** «÷´êHTMLªº¦C(Row;Record)
Select temp88 && ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí)
Scan && °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
If dl='¥¢±Ñ'
aaa=aaa+'<tr BGCOLOR=red>'
Else
aaa=aaa+'<tr>'
Endif
aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
aaa=aaa+'<td>'+ttoc(filetime)+'</td>'
aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
aaa=aaa+'</tr>' && ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
Endscan
aaa=aaa+'</table><br><br>'
*** ¼g¤Jµo«H¾÷¨î,±Æµ{µo«H
=SQLExec(conn9,"insert into °e«H¾ã¦X«H¥ó¤º®e (¹q¸£¦WºÙ,¤ñ¹ï¹q¸£¦WºÙ,µ{¦¡¦WºÙ,¥D¦®,¤º®e,«H¥ó®æ¦¡) values (?m_pcname,0,?m_prgname,'"+m_prgname+'_'+Dtoc(m_date)+"',?aaa,'html')") && ¹ïSQL°õ¦æSQL©R¥O
=SQLDisconnect(conn9)
Endif
Procedure buf2num
Lparameters lcbuffer, lnoffset, lnbytes
* converts N bytes from the buffer into a numeric value
lnresult = 0
For ii=1 To lnbytes
lnresult = lnresult +;
BitLShift(Asc(Substr (lcbuffer, lnoffset+ii, 1)), (ii-1)*8)
Endfor
Return lnresult
Endproc
|
|
|
¦^³»ºÝ |
|
 |
Mark123
µù¥U®É¶¡: 2012-06-28 ¤å³¹: 6
²Ä 7 ¼Ó
|
µoªí©ó: ¬P´Á¤» ¤Q¤@¤ë 17, 2012 8:36 am ¤å³¹¥DÃD: |
|
|
¸É¥R×§ï¤@¨Ç,½Ð§â¤W±µ{¦¡½X "*** «÷´êHTML" ³o¬q´«±¼,¶¶«K¤ñ¹ï¥»¾÷¼È¦sÀÉ&À£ÁYÀɬO§_¥¿½T
¥N½X: |
*** «÷´êHTML
aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦bâ±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥ÍªºªÑ°È¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
aaa=aaa+"<br>¥Ø«e®É¶¡: "+Ttoc(Datetime())
aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
If Fdate(m_path1+'\smz_'+Dtos(m_date)+'.rar ')<>m_date+1 && ¤ñ¹ïÀ£ÁYÀɮפé´Á¬O§_¥¿½T,Y¤£¥¿½T´N¥H¯»¬õ¦â©³¦âªí¥Ü...m_date+1==>¦]¬°â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
aaa=aaa+'<font color="#cc33ff" size="7">À£ÁYÀɨS¦³¥¿½T¼g¤J,½ÐÀˬd</font>'
Endif
aaa=aaa+'<table bordercolor="black" border="1">'
aaa=aaa+'<td>§Ç¸¹</td><td>ÀɮצWºÙ</td><td>Àɮ׮ɶ¡</td><td>¬O§_§¹¦¨</td>'
*** «÷´êHTMLªº¦C(Row;Record)
Select temp88 && ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí)
Scan && °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
If !File(m_path+'\'+Alltrim(filename)) && ¤ñ¹ïÀɮ׬O§_¦s¦b¼È¦s¸ê®Æ§¨,¤£¦s¦b´Nµù°O:¥¼¦s
Replace dl With '¥¼¦s'
Endif
If Fdate(m_path+'\'+Alltrim(filename))<>m_date+1 && ¤ñ¹ï¼È¦sÀɮפé´Á¬O§_¥¿½T,¤£¥¿½T´Nµù°O:¤é¿ù...m_date+1==>¦]¬°â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
Replace dl With '¿ù¤é'
Endif
If dl='¥¢±Ñ' Or dl='¥¼¦s' OR dl='¿ù¤é' Or Ttod(filetime)<>m_date+1 && ¤ñ¹ïÀɮ׬O§_¦³°ÝÃD
aaa=aaa+'<tr BGCOLOR=red>' && ¦³°ÝÃDªº,¥H¬õ¦â©³¦âªí¥Ü
Else
aaa=aaa+'<tr>'
Endif
aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
aaa=aaa+'<td>'+Ttoc(filetime)+'</td>'
aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
aaa=aaa+'</tr>' && ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
Endscan
aaa=aaa+'</table><br><br>'
|
§Ú¥Î³oµ{¦¡¨C¤Ñ³Æ¥÷UNIX&Linux¦U¦¡¸ê®Æ,¤]¥i¥H³Æ¥÷LunixªºOracleªºDBFÀÉ&ArchiveÀÉ,ÁÙ¦³Oracle¥ÎRMAN³Æ¥÷ªº¸ê®Æ,µM«á¥ÎiSCSI³]³Æ°µ²§¦a³Æ¥÷,¥þ³¡¥ÎFoxpro·d©w
²{¦b¥i¥H¤ñ¹ïÀɮפé´Á®É¶¡,¸ò«È¤á&¼t°Ó·¾³qªºÀÉ®×,µ{¦¡§ïFTP¤W¶Ç,µM«á¤ñ¹ï¬O§_¥¿½T,¤@¤Á¥þ¦Û°Ê,¥un¨C¤Ñ¦¬«H´N¥i¥H¥þ½L¤F¸Ñª¬ªp.
ÁÂÁÂckp6250&elleryq¬Û§U |
|
¦^³»ºÝ |
|
 |
Mark123
µù¥U®É¶¡: 2012-06-28 ¤å³¹: 6
²Ä 8 ¼Ó
|
µoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 21, 2012 8:37 am ¤å³¹¥DÃD: |
|
|
³o´X¤Ñ±Æµ{´ú¸Õµo²{¤p¤p°ÝÃD,×¥¿¦p¤U:
1. temp88³oÓCursor¥[Readwrite°Ñ¼Æ,§ï¦¨¥iŪ¼g,³o¼Ë¤~¥i¥H§ïÅÜÄæ¦ìªºÈ
2. µ{¦¡¤Ö¤U¸ü²Ä¤@Ó§ä¨ìªºÀÉ®×(ftpfindfirstfileÀɮ׳Q¿ò§Ñ¤F),¤]§Ñ°OÂà´«filetime. (snoÄæ¦ì´N¬O¦b§ì¿òº|ªºÀÉ®×firstfile)
¥N½X: |
Set Dele On && ¤w¸g§R°£ªº¸ê®Æ¤£Åã¥Ü
Set Safe Off && ÀÉ®×IO®É¤£¸ß°Ý,ª½±µ°Ê§@
Set Date ymd && ¤é´Á®æ¦¡: yyyy-mm-dd
Set Hours To 24 && ®É¶¡¬°24¤p®É¨î
Set Century On && ¤é´Á®æ¦¡¤¤,¦~¥÷³]©w¬°¥|½X
Set Mark To '-' && ¤é´Á¤À¹j²Å¸¹,¨Ò¦p 2010-11-01
Set enginebehavior 70 && ¦V¤U¬Û®efoxpro¦´Áª©¥»µ{¦¡»yªk
On Error * && ·í¦³¿ù»~®É¤£°µ¥ô¦ó¨Æ, *¬P¸¹¬Oµù¸Ñ,µù¸Ñ´N¥Nªí¤°»ò³£¤£°µ
Close Databases All && Ãö³¬©Ò¦³¶}±Òªº¸ê®Æ®w
*=MESSAGEBOX(SYS(5)+SYS(2003)) &&ºÊ¬Ý¥Ø«eµ{¦¡°õ¦æªº¸ô®|,64¦ì¤¸ª©§@·~¨t²Înª`·N±Æµ{³]©w"¶}©l¦ì¸m",¦]¬°¹w³]¦bC:\WINDOWS\SYSTEM32
m_date=Date()-1 && «e¤@¤Ñ
m_user=Upper(Alltrim(Right(Sys(0),Len(Sys(0))-At('#',Sys(0))))) && ¥»¾÷µn¤Jªº¨Ï¥ÎªÌ
m_pcname=Upper(Alltrim(Left(Sys(0),At('#',Sys(0))-1))) && ¥»¾÷¹q¸£¦WºÙ
m_prgname='¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷'
m_stime=Datetime() && µ{¦¡¶}©l®É¶¡
sss=Seconds() && °O¿ý¶}©l°õ¦æªº®É¶¡
Create Cursor temp01 (¥\¯à c(10),¤ÀÃþ c(4),¸ê®Æ§¨ c(100)) && ³Æ¥÷¸ê®Æ§¨°O¿ýÀÉ, ¥Î¨ÓÀx¦s backup_init.txt ¤º®e
*APPEND FROM Backup_init.txt DELIMITED WITH _ WITH CHARACTER ,
Append From backup_init.txt Delimited With Character , && Ū¨ú backup_init.txt ÀÉ®×,¸Ì±°O¿ý³Æ¥÷n¥Îªº¸ê®Æ§¨
*****backup_init.txt ¬O¥Î¨ÓÀH®É§ïÅܳƥ÷¦ì¸mªº,½Ð±Nbackup_init.txt2ÀÉ®×»P¦¹µ{¦¡©ñ¦b¦P¤@¸ê®Æ§¨
*****backup_init.txt ¤º®e¦p¤U¤T¦C(¤£§t«e±5Ó¬P¸¹)
*****informix,FTP,/u1/EXPORT/smz.exp/
*****informix,¼È¦s,D:\Backup\informix¸ê®Æ®w\smz.exp
*****informix,¥Øªº,F:\Backup\informix¸ê®Æ®w
*=================================================================================================
***** ·Ç³Æ FTP ³s½u
***** «Å§i wininet.dll
*** ¶}±Ò internet ³sµ²
Declare Integer InternetOpen In wininet;
string sAgent,;
integer lAccessType,;
string sProxyName,;
string sProxyBypass,;
string lFlags
*** Ãö³¬ internet ³sµ²
Declare Integer InternetCloseHandle In wininet ;
integer hInet
*** ³sµ² ftp or http
Declare Integer InternetConnect In wininet;
integer hInternetSession,;
string sServerName,;
integer nServerPort,;
string sUsername,;
string sPassword,;
integer lService,;
integer lFlags,;
integer lContext
*** ¤U¸ü ftp ÀÉ®×
Declare Integer FtpGetFile In wininet;
integer hFtpSession, ;
string lpszRemoteFile,;
string lpszNewFile,;
integer fFailIfExists,;
integer dwFlagsAndAttributes,;
integer dwFlags,;
integer dwContext
*** ¨ú±o ftp ¥Ø¿ý¸ê®Æ
Declare Integer FtpGetCurrentDirectory In wininet;
Integer hftpsession, String @lpszdir, Integer @lpdwcurdir
*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
Integer hftpsession, String lpszsearchfile,;
string @lpfindfiledata, Integer dwflags, Integer dwcontent
*** §ä¤U¤@ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
Integer hfind, String @lpvfinddata
*** ¨ú±oÀɮפé´Á¸ê°T
Declare Integer FileTimeToSystemTime In kernel32.Dll;
STRING @lpFileTime, String @lpSystemTime
*** «Ø¥ß¥»¾÷¸ê®Æ§¨,¨Ã°O¿ý¼È¦s»P¥Øªº¸ê®Æ§¨¸ê°T
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¼È¦s' && §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
m_path=Alltrim(¸ê®Æ§¨) && ¦pªG§ä¨ì, «h¨Ï¥Î¸Ó¸ê®Æ§¨³Æ¥÷¥¼À£ÁYªºÀÉ®×
Else
m_path='D:\Backup\informix¸ê®Æ®w\smz.exp' && §ä¤£¨ì, ´N¥Î¹w³]ªº¸ê®Æ§¨ (¨Ò¦p: d:\Backup\informix¸ê®Æ®w\smz.exp)
Endif
If !Directory(m_path) && Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
Md &m_path && «Ø¥ß¸ê®Æ§¨
Else
m_comm='run del '+m_path+' /q' && §R°£¸ê®Æ§¨¤ºªºÀÉ®×
&m_comm
Endif
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¥Øªº'
If Found()
m_path1=Alltrim(¸ê®Æ§¨)
Else
m_path1='F:\Backup\informix¸ê®Æ®w' && ³Æ¥÷Àɮ׸ô®| (¨Ò¦p: F:\Backup\informix¸ê®Æ®w\), F:ºÏºÐ¾÷¬OiSCSI»·ºÝµwºÐ
Endif
If !Directory(m_path1) && Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
Md &m_path1 && «Ø¥ß¸ê®Æ§¨
Endif
***** ¶}©l³s½u
sagent = "vfp7" && ¦Ûq¤@Ó¦WºÙ(ÀH«K)
sproxyname = 0 && ¤£¨Ï¥ÎProxy server -->vb ¤£¬O chr(0) ¬O¥Î null
sproxybypass = 0 && ¤£¦^´_°T®§
lflags = 0 && ¹w³]È
* ¶}±Ò³sµ² («Ø¥ß internet session)
hopen = internetopen (sagent, 1, sproxyname, sproxybypass, lflags)
* ³]©wµn¤Jªº¨Ï¥ÎªÌ¦WºÙ
strhost = '10.0.1.99' && nµn¤Jªºftp¦ì§}©Î¦WºÙ
port=21 && ftp ªº³q°T°ð
struser = 'test' && ¨Ï¥ÎªÌ¦WºÙ
strpwd = 'test' && ±K½X
************** ³s½u¦Ü ftp
*!* hFtpSession = InternetConnect (hOpen, strHost, port, strUser, strPwd, INTERNET_SERVICE_FTP, 0, 0)
hftpsession = internetconnect (hopen, strhost, port, struser, strpwd, 1, 0, 0)
If hftpsession = 0
Return && µLªk³s½u´N°h¥Xµ{¦¡
Endif
*** ¤U¸ü ftp ÀÉ®×
If hopen>0 And hftpsession>0
lpfindfiledata = Repli (Chr(0), 320) && lpfindfiledata = 320Óchr(0)
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='FTP' && §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
ftpdir=Alltrim(¸ê®Æ§¨) && FTP Server ªºÀɮ׸ô®|
Else
ftpdir='/u1/EXPORT/smz.exp/' && FTP Server ªºÀɮ׸ô®|
Endif
*** ¥ý¨ú±oÀɮ׸ê°T¼g¤JCursor temp00
lcmask=Alltrim(ftpdir)+'*.*'
hfind = ftpfindfirstfile(hftpsession,lcmask,@lpfindfiledata,16,0) && ¨ú±o²Ä¤@ÓÀÉ®×
If hfind>0 && §PÂ_¬O§_§ä¨ì²Ä¤@ÓÀÉ®×
Select 0 && ¤Á´«¦ÜªÅªº¤u§@°Ï
Create Cursor temp00 (sno i,filename c(20),filesize i,filetime T,fileattrib c(100),dl c(4)) && «Ø¥ßCursor
m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
If At(Chr(0), m_filename) <> 0
m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
Endif
*** WIN32_FIND_DATA Âà´«
lcfiletime=Substr(lpfindfiledata, 21, 8)
lcsystemtime = Repli (Chr(0), 16)
= filetimetosystemtime (@lcfiletime, @lcsystemtime)
wyear = buf2num (lcsystemtime, 0, 2)
wmonth = buf2num (lcsystemtime, 2, 2)
wday = buf2num (lcsystemtime, 6, 2)
whour = buf2num (lcsystemtime, 8, 2)
wminute = buf2num (lcsystemtime, 10, 2)
wsecond = buf2num (lcsystemtime, 12, 2)
Set Date To Mdy
lcdate = Strtran (Str(wmonth,2) + "/" + Str(wday,2) + "/" + Str(wyear,4), " ","0")
lctime = Strtran (Str(whour,2) + ":" + Str(wminute,2) + ":" + Str(wsecond,2), " ","0")
ltresult = Ctot (lcdate + " " + lctime)
Set Date ymd
Insert Into temp00 (sno,filename,filetime) Values (1,m_filename,ltresult) && ±NÀɮצWºÙ¼g¤JCursor
lnfound =1 && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[, ±q¤@¶}©l ,¦]¬°ftpfindfirstfile¤w¸g§ä¨ì²Ä¤@ÓÀÉ®×
Do While .T. && ¶}©l§ä´M¤U¤@ÓÀÉ®×
If internetfindnextfile (hfind, @lpfindfiledata) <> 1 && §PÂ_¬O§_§ä¨ì¤U¤@ÓÀÉ®×
Exit && §ä¤£¨ì, ¸õ¥X°j°é
Else
lnfound = lnfound + 1 && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[
m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
If At(Chr(0), m_filename) <> 0
m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
Endif
*** WIN32_FIND_DATA Âà´«
lcfiletime=Substr(lpfindfiledata, 21, 8)
lcsystemtime = Repli (Chr(0), 16)
= filetimetosystemtime (@lcfiletime, @lcsystemtime)
wyear = buf2num (lcsystemtime, 0, 2)
wmonth = buf2num (lcsystemtime, 2, 2)
wday = buf2num (lcsystemtime, 6, 2)
whour = buf2num (lcsystemtime, 8, 2)
wminute = buf2num (lcsystemtime, 10, 2)
wsecond = buf2num (lcsystemtime, 12, 2)
Set Date To Mdy
lcdate = Strtran (Str(wmonth,2) + "/" + Str(wday,2) + "/" + Str(wyear,4), " ","0")
lctime = Strtran (Str(whour,2) + ":" + Str(wminute,2) + ":" + Str(wsecond,2), " ","0")
ltresult = Ctot (lcdate + " " + lctime)
Set Date ymd
*** ±NÀɮצWºÙ¼g¤JCursor
Insert Into temp00 (sno,filename,filetime) Values (lnfound,m_filename,ltresult) && ±NÀɮצWºÙ¼g¤JCursor
Endif
Enddo
*** ¶}©l¤U¸ü
Select temp00 && ¤Á´«¨ìCursor
Scan &&±Ntemp00¸ê®Æªí³vµ§¶]¹L¤@¦¸
lpszremotefile=ftpdir+Alltrim(Lower(temp00.filename)) && ¨Ó·½ÀÉ
*Wait Windows notes+'/'+lpszremotefile Nowait && ±NÀɮצWºÙÅã¥Ü¦bµe±,³o¬OnºÊ¬Ý¥Îªº,Åý§Aª¾¹D¥¿¦b¤U¸ü¨º¤@ÓÀÉ®×
lpsznewfile=m_path+'\'+Alltrim(Lower(temp00.filename)) && ¥ØªºÀÉ
lnresult=ftpgetfile (hftpsession, lpszremotefile, lpsznewfile, 0, 128, 2, 0) && ¶}©l¤U¸ü
If lnresult>0 && §PÂ_¬O§_¦¨¥\, >0¦¨¥\ ,¼g¤Jtemp01
Replace dl With '¦¨¥\' In temp00 && ¼g¤JdlÄæ¦ì, ¨Ñ¥H«á§PÂ_¦¨¥\»P§_
Else
Replace dl With '¥¢±Ñ' In temp00
Endif
Endscan
Copy To m_path+'\log00' && °O¿ýÀɦs©ñ¤U¸ü°O¿ý ,D:\Backup\informix¸ê®Æ®w\smz.exp\log00.dbf
Endif
Endif
= internetclosehandle (hopen) && Ãö³¬FTP³s½u
*=================================================================================================
*** ©I¥sWinRAR À£ÁYÀÉ®×
*If Os()='Windows 6.01' && ¨ú±o§@·~¨t²Î¬O¤£¬O Windows2008R2 64¦ì¤¸ª©?
Do Case
Case File("C:\Program Files (x86)\winrar\winrar.exe") && 64¦ì¤¸§@·~¨t²ÎWinRAR©ñ¦b¦¹¸ê®Æ§¨,¤½¥q¦øªA¾¹Windows2008R2¬O64¦ì¤¸,©Ò¥H·|¦³¦¹°ÝÃD
Set Default To "C:\Program Files (x86)\winrar" && ¤Á´«µ{¦¡¸ô®|¦Ü C:\Program Files (x86)\winrar
Case File("C:\Program Files\winrar\winrar.exe")
Set Default To "C:\Program Files\winrar" && ¤Á´«µ{¦¡¸ô®|¦ÜC:\Program Files\winrar
Endcase
aaa='run winrar a -m5 '+m_path1+'\smz_'+Dtos(m_date)+'.rar '+m_path && ±N©R¥O¥]¦¨¦r¦ê,©R¥O¤º®e¬O°õ¦æDOS¼Ò¦¡ ,«e±ªºRUN¥Nªí©I¥sDOS¼Ò¦¡,«á±±µµÛwinrar©R¥O
&aaa && ¥¨¶°´À¥N,°õ¦æ¦r¦êªº¤º²[ (¤]´N¬O§â¦r¦êÅܦ¨©R¥O°õ¦æ)
Select filename,filetime,dl,sno From temp00 Order By dl,filetime Into Cursor temp88 Readwrite && Readwrite°Ñ¼Æ¬OÅý¦¹Cursor¥iŪ¼g
***** ¼g¤JSQL
=SQLSetprop(0,"DispLogin",3)
conn9=Sqlstringconnect('DRIVER=SQL Server;SERVER=192.168.1.1;uid=test;PWD=test;DATABASE=test')
If conn9>0
lc_sss=Alltrim(Str(Seconds()-sss,10,3)) && pºâ°õ¦æ¬í¼Æ
*** «÷´êHTML
aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦bâ±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
aaa=aaa+"<br>¶}©l®É¶¡: "+Ttoc(m_stime)
aaa=aaa+"<br>§¹¦¨®É¶¡: "+Ttoc(Datetime())
aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
If !File(m_path1+'\smz_'+Dtos(m_date)+'.rar ') Or Fdate(m_path1+'\smz_'+Dtos(m_date)+'.rar ')<>m_date+1 && ¤ñ¹ïÀ£ÁYÀɮפé´Á¬O§_¥¿½T,Y¤£¥¿½T´N¥H¯»¬õ¦â©³¦âªí¥Ü...m_date+1==>¦]¬°â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
aaa=aaa+'<br><font color="#cc33ff" size="7">À£ÁYÀɨS¦³¥¿½T¼g¤J,½ÐÀˬd</font>'
Else
aaa=aaa+'<br>¤w²£¥ÍÀ£ÁYÀÉ:'+m_path1+'\smz_'+Dtos(m_date)+'.rar '
Endif
aaa=aaa+"<br>µ{¦¡¶}µo¤Hû: Mark"
aaa=aaa+'<table bordercolor="black" border="1">'
aaa=aaa+'<td>§Ç¸¹</td><td>FTPÀɮקǸ¹</td><td>ÀɮצWºÙ</td><td>Àɮ׮ɶ¡</td><td>¬O§_§¹¦¨</td>'
*** «÷´êHTMLªº¦C(Row;Record)
Select temp88 && ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí) ,temp88¦³¤UReadwrite°Ñ¼Æ,¥iŪ¼g
Scan && °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
If !File(m_path+'\'+Alltrim(filename)) && ¤ñ¹ïÀɮ׬O§_¦s¦b¼È¦s¸ê®Æ§¨,¤£¦s¦b´Nµù°O:¥¼¦s
Replace dl With '¥¼¦s' && ±N'¥¼¦s'¼g¤JdlÄæ¦ì
Endif
If Fdate(m_path+'\'+Alltrim(filename))<>m_date+1 && ¤ñ¹ï¼È¦sÀɮפé´Á¬O§_¥¿½T,¤£¥¿½T´Nµù°O:¤é¿ù...m_date+1==>¦]¬°â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
Replace dl With '¿ù¤é'
Endif
If dl='¥¢±Ñ' Or dl='¥¼¦s' Or dl='¿ù¤é' Or Ttod(filetime)<>m_date+1 && ¤ñ¹ïÀɮ׬O§_¦³°ÝÃD
aaa=aaa+'<tr BGCOLOR=red>' && ¦³°ÝÃDªº,¥H¬õ¦â©³¦âªí¥Ü
Else
aaa=aaa+'<tr>'
Endif
aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
aaa=aaa+'<td>'+Alltrim(Str(sno))+'</td>'
aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
aaa=aaa+'<td>'+Ttoc(filetime)+'</td>'
aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
aaa=aaa+'</tr>' && ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
Endscan
aaa=aaa+'</table><br><br>'
*** ¼g¤Jµo«H¾÷¨î,±Æµ{µo«H
=SQLExec(conn9,"insert into °e«H¾ã¦X«H¥ó¤º®e (¹q¸£¦WºÙ,¤ñ¹ï¹q¸£¦WºÙ,µ{¦¡¦WºÙ,¥D¦®,¤º®e,«H¥ó®æ¦¡) values (?m_pcname,0,?m_prgname,'"+m_prgname+'_'+Dtoc(m_date)+"',?aaa,'html')") && ¹ïSQL°õ¦æSQL©R¥O
=SQLDisconnect(conn9)
Endif
Procedure buf2num
Lparameters lcbuffer, lnoffset, lnbytes
* converts N bytes from the buffer into a numeric value
lnresult = 0
For ii=1 To lnbytes
lnresult = lnresult +;
BitLShift(Asc(Substr (lcbuffer, lnoffset+ii, 1)), (ii-1)*8)
Endfor
Return lnresult
Endproc
|
|
|
¦^³»ºÝ |
|
 |
|
|
±z µLªk ¦b³oÓª©±µoªí¤å³¹ ±z µLªk ¦b³oÓª©±¦^ÂФ峹 ±z µLªk ¦b³oÓª©±½s¿è¤å³¹ ±z µLªk ¦b³oÓª©±§R°£¤å³¹ ±z µLªk ¦b³oÓª©±¶i¦æ§ë²¼ ±z µLªk ¦b³oÓª©±ªþ¥[ÀÉ®× ±z µLªk ¦b³oÓª©±¤U¸üÀÉ®×
|
Powered by phpBB © 2001, 2005 phpBB Group ¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@
|