俊星的BLOG

          #

          Mysql備份

          1、編寫相關的備份腳本backup.bat:
          @echo off
          mysqldump -uroot -pXXX test>D:\db_backup\test%date:~0,10%.sql
          其中“%date:~0,10%”表示取出日期后截取前10個字符,因為在目標機器運行%date%得到的是“2010-10-13 星期三”,不符合要求。

          2、執行過程中,報如下錯誤:
          mysqldump:   Got   error:   1045:   Access   denied   for   user:   'root@localhost '   (Using   password:   NO)   when   trying   to   connect
          原因是權限不夠,處理措施如下:

          C:\Documents and Settings\Administrator.SPARK001>mysql -uroot -pXXX
          Welcome to the MySQL monitor.  Commands end with ; or \g.
          Your MySQL connection id is 1450
          Server version: 5.0.67-community MySQL Community Edition (GPL)

          Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
          mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
          Query OK, 0 rows affected (0.06 sec)

          mysql> flush privileges;
          Query OK, 0 rows affected (0.00 sec)


          3、運行bat文件后,即生成了“test2010-10-13.sql”類的文件,最后通過設置WINDOWS系統工具中的任務計劃功能,即可實現自動備份。

          posted @ 2010-10-13 18:15 俊星 閱讀(158) | 評論 (0)編輯 收藏

          Ftp客戶端簡單編程

          基于APACHE COMMONS中的NET包提供的FTP客戶端類庫實現,下面是具體的代碼:

          package test;

          import java.io.FileInputStream;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.InputStream;
          import java.io.OutputStream;
          import java.io.PrintWriter;

          import org.apache.commons.net.PrintCommandListener;
          import org.apache.commons.net.ftp.FTP;
          import org.apache.commons.net.ftp.FTPClient;
          import org.apache.commons.net.ftp.FTPFile;
          import org.apache.commons.net.ftp.FTPReply;

          public class ClientTest {
              
          public static void main(String[] args) {
                  ClientTest main 
          = new ClientTest();
                  FTPClient ftp 
          = new FTPClient();
                  
          // 設置一個監聽
                  ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
                  
          try {
                      ftp.connect(
          "localhost"2121);
                      
          int reply = ftp.getReplyCode();
                      
          if (!FTPReply.isPositiveCompletion(reply)) {
                          ftp.disconnect();
                          System.out.println(
          "FTP server refused connection");
                      }

                      
          // 登錄
                      ftp.login("admin""admin");
                      main.uploadFile(ftp);
                      main.listFiles(ftp);
                      main.downloadFile(ftp);
                      main.deleteFile(ftp);
                      main.listFiles(ftp);
                      
          // 退出
                      ftp.logout();
                  }
           catch (IOException e) {
                      e.printStackTrace();
                      
          if (ftp.isConnected()) {
                          
          try {
                              ftp.disconnect();
                          }
           catch (Exception e2) {
                          }

                      }

                  }

              }

              
              
          // 列舉文件
              private void listFiles(FTPClient ftp) throws IOException {
                  System.out.println(
          "------------START------------");
                  
          for (FTPFile f : ftp.listFiles()) {
                      System.out.println(f.getName() 
          + " " + f.getSize());
                  }

                  System.out.println(
          "------------END------------");
              }


              
          // 上傳文件
              private void uploadFile(FTPClient ftp) throws IOException {
                  ftp.setFileType(FTP.BINARY_FILE_TYPE);
                  ftp.enterLocalPassiveMode();
                  InputStream input 
          = new FileInputStream("res/conf/dushu.jpg");
                  ftp.storeFile(
          "dushu.jpg", input);
                  input.close();
              }


              
          // 下載文件
              private void downloadFile(FTPClient ftp) throws IOException {
                  ftp.setFileType(FTP.BINARY_FILE_TYPE);
                  ftp.enterLocalPassiveMode();
                  OutputStream output 
          = new FileOutputStream("res/conf/dushu_down.jpg");
                  ftp.retrieveFile(
          "dushu.jpg", output);
                  output.close();
              }


              
          // 刪除文件
              private void deleteFile(FTPClient ftp) throws IOException {
                  ftp.deleteFile(
          "dushu.jpg");
              }

          }


          輸出如下:
          220 Service ready for new user.
          USER admin
          331 User name okay, need password for admin.
          PASS admin
          230 User logged in, proceed.
          TYPE I
          200 Command TYPE okay.
          PASV
          227 Entering Passive Mode (127,0,0,1,13,12)
          STOR dushu.jpg
          150 File status okay; about to open data connection.
          226 Transfer complete.
          ------------START------------
          SYST
          215 UNIX Type: Apache FtpServer
          PASV
          227 Entering Passive Mode (127,0,0,1,13,14)
          LIST
          150 File status okay; about to open data connection.
          226 Closing data connection.
          dushu.jpg 
          83694
          ------------END------------
          TYPE I
          200 Command TYPE okay.
          PASV
          227 Entering Passive Mode (127,0,0,1,13,16)
          RETR dushu.jpg
          150 File status okay; about to open data connection.
          226 Transfer complete.
          DELE dushu.jpg
          250 Requested file action okay, deleted /dushu.jpg.
          ------------START------------
          PASV
          227 Entering Passive Mode (127,0,0,1,13,18)
          LIST
          150 File status okay; about to open data connection.
          226 Closing data connection.
          ------------END------------
          QUIT
          221 Goodbye.

          最后,提供一張自己拍的讀書圖:

          posted @ 2010-10-12 15:37 俊星 閱讀(1028) | 評論 (0)編輯 收藏

          APACHE FTPserver 初探

          目前搭建起來了一個可以運行的源代碼環境,已經打包上傳到:/Files/kinkding/ftpserver.rar

          posted @ 2010-10-11 18:44 俊星 閱讀(207) | 評論 (0)編輯 收藏

          Window下FTP命令使用

          直接在命令行中,使用FTP命令進行FTP的相關操作:


          C:\Documents and Settings\dingjunxing>ftp
          ftp> open localhost 2121
          Connected to DINGJX.
          220 Service ready for new user.
          User (DINGJX:(none)): admin
          331 User name okay, need password for admin.
          Password:
          230 User logged in, proceed.
          ftp> dir
          200 Command PORT okay.
          150 File status okay; about to open data connection.
          -rw-------   1 user group        67646 Oct 11 17:50 03_photos.ico
          226 Closing data connection.
          ftp: 收到 67 字節,用時 0.03Seconds 2.16Kbytes/sec.
          ftp> ls
          200 Command PORT okay.
          150 File status okay; about to open data connection.
          03_photos.ico
          226 Closing data connection.
          ftp: 收到 15 字節,用時 0.00Seconds 15000.00Kbytes/sec.
          ftp> get 03_photos.ico
          200 Command PORT okay.
          150 File status okay; about to open data connection.
          226 Transfer complete.
          ftp: 收到 67680 字節,用時 0.02Seconds 4230.00Kbytes/sec.
          ftp> delete 03_photos.ico
          250 Requested file action okay, deleted /03_photos.ico.
          ftp> put 03_photos.ico
          200 Command PORT okay.
          150 File status okay; about to open data connection.
          226 Transfer complete.
          ftp: 發送 67680 字節,用時 0.02Seconds 4230.00Kbytes/sec.
          ftp> put F:\eclipse\workspace\ftpserver\res\ftpserver.jks
          200 Command PORT okay.
          150 File status okay; about to open data connection.
          226 Transfer complete.
          ftp: 發送 1242 字節,用時 0.00Seconds 1242000.00Kbytes/sec.
          ftp> mkdir test
          257 "/test" created.
          ftp> bye
          221 Goodbye.

          posted @ 2010-10-11 18:29 俊星 閱讀(3523) | 評論 (0)編輯 收藏

          ftp的port和pasv模式(轉)

          該文為轉載,原文地址:http://hi.baidu.com/xianyang1981/blog/item/f17d6f6d8650c0f842169427.html

          一、ftp的port和pasv模式的工作方式
                 FTP使用2個TCP端口,首先是建立一個命令端口(控制端口),然后再產生一個數據端口。國內很多教科書都講ftp使用21命令端口和20數據端口,這個應該是教書更新太慢的原因吧。實際上FTP分為主動模式和被動模式兩種,ftp工作在主動模式使用tcp 21和20兩個端口,而工作在被動模式會工作在大于1024隨機端口。FTP最權威的參考見RFC 959,有興趣的朋友可以仔細閱讀
          ftp://nic.merit.edu/documents/rfc/rfc0959.txt的文檔了解FTP詳細工作模式和命令。目前主流的FTP Server服務器模式都是同時支持port和pasv兩種方式,但是為了方便管理安全管理防火墻和設置ACL了解FTP Server的port和pasv模式是很有必要的。

          1.1 ftp port模式(主動模式)
                 主動方式的FTP是這樣的:客戶端從一個任意的非特權端口N(N>1024)連接到FTP服務器的命令端口(即tcp 21端口)。緊接著客戶端開始監聽端口N+1,并發送FTP命令“port N+1”到FTP服務器。最后服務器會從它自己的數據端口(20)連接到客戶端指定的數據端口(N+1),這樣客戶端就可以和ftp服務器建立數據傳輸通道了。ftp port模式工作流程如下圖所示:

          針對FTP服務器前面的防火墻來說,必須允許以下通訊才能支持主動方式FTP:
          1、客戶端口>1024端口到FTP服務器的21端口 (入:客戶端初始化的連接 S<-C)
          2、FTP服務器的21端口到客戶端>1024的端口(出:服務器響應客戶端的控制端口 S->C)
          3、FTP服務器的20端口到客戶端>1024的端口(出:服務器端初始化數據連接到客戶端的數據端口 S->C)
          4、客戶端>1024端口到FTP服務器的20端口(入:客戶端發送ACK響應到服務器的數據端口 S<-C)

           

          1.2 ftp pasv模式(被動模式)
                 在被動方式FTP中,命令連接和數據連接都由客戶端。當開啟一個FTP連接時,客戶端打開兩個任意的非特權本地端口(N > 1024和N+1)。第一個端口連接服務器的21端口,但與主動方式的FTP不同,客戶端不會提交PORT命令并允許服務器來回連它的數據端口,而是提交 PASV命令。這樣做的結果是服務器會開啟一個任意的非特權端口(P > 1024),并發送PORT P命令給客戶端。然后客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。ftp pasv模式工作流程如下圖所示:

          對于服務器端的防火墻來說,必須允許下面的通訊才能支持被動方式的FTP:
          1、客戶端>1024端口到服務器的21端口 (入:客戶端初始化的連接 S<-C)
          2、服務器的21端口到客戶端>1024的端口 (出:服務器響應到客戶端的控制端口的連接 S->C)
          3、客戶端>1024端口到服務器的大于1024端口 (入:客戶端初始化數據連接到服務器指定的任意端口 S<-C)
          4、服務器的大于1024端口到遠程的大于1024的端口(出:服務器發送ACK響應和數據到客戶端的數據端口 S->C)

          posted @ 2010-10-11 17:55 俊星 閱讀(8036) | 評論 (0)編輯 收藏

          僅列出標題
          共10頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
          主站蜘蛛池模板: 仙居县| 全州县| 濉溪县| 图木舒克市| 射阳县| 精河县| 罗田县| 西畴县| 德庆县| 临湘市| 平谷区| 金乡县| 万载县| 华坪县| 沛县| 永福县| 双流县| 贺州市| 霍林郭勒市| 土默特右旗| 云安县| 大姚县| 饶阳县| 镇巴县| 大同县| 房山区| 吉木萨尔县| 眉山市| 原阳县| 砀山县| 长汀县| 辽阳市| 班玛县| 四会市| 克拉玛依市| 宜城市| 乌拉特中旗| 邢台市| 钟祥市| 崇信县| 霸州市|