之前開發了php+mysql+shell運維監控系統,監控起來很方便,但在運維管理方便還是不能實現,所以最近打算使用python語言編寫一套的運維管理系統,可以使用單臺或多臺機器同時管理與部署等功能,實現類似functriaquae等管理軟體功能。

本軟體是參考了triaquae軟體的思路(對方軟體地址為http://triaquae2.sinaapp.com/),參考對方軟體的組方面的部分程式碼,經過與原作者Alex Li的協商,允許我使用對方部分程式碼與思路,所以我把此軟體進行開源,分享給大家。

 

 下面開始安裝與應用測試

一、軟體的安裝
軟體可以到https://github.com/dl528888/auto_op/裡面進行下載
1、先解壓軟體
  1. root@squid:/tmp# tar zxvf auto_op.tar.gz   
  2. auto/  
  3. auto/auto_op.py  
  4. auto/setup.py  
  5. auto/install.txt  
安裝前軟體的結構
 
  1. root@squid:/tmp# tree auto  
  2. auto  
  3. |-- auto_op-software-install-and-function-document.docx         #中文的安裝文件  
  4. |-- auto_op.py                                              #程式包  
  5. |-- install.txt                                             #軟體介紹與安裝說明  
  6. `-- setup.py                                                #部署環境與安裝          
  7.  
  8. 0 directories, 4 files  
2、進入目錄檢視安裝文件install.txt
  1. root@squid:/tmp# cd auto/  
  2. root@squid:/tmp/auto# ll  
  3. total 44  
  4. drwxr-xr-x 2 root root  4096 Mar 20 23:44 ./  
  5. drwxrwxrwt 8 root root  4096 Mar 21 09:56 ../  
  6. -rw-r--r-- 1 root root 24774 Mar 20 23:33 auto_op.py  
  7. -rw-r--r-- 1 root root   494 Mar 20 23:44 install.txt  
  8. -rw-r--r-- 1 root root  3346 Mar 20 22:53 setup.py  
  9. root@squid:/tmp/auto# cat install.txt   
  10. Version 1.0  
  11.  
  12. Introduction  
  13. This software is manage many servers.I refer to TriAquae.TriAquae`s author is Alex Li.You can let all your Linux servers(or single server)  doing the same job in the same time,such as send a file,run a script,modify file,excute command and etc.  
  14.  
  15. Install  
  16.  
  17. 1. tar zxvf auto_op.tar.gz  
  18. 2. cd auto  
  19. 3. python setup.py build --prefix=/installdir/  
  20. 4. python setup.py install  
  21. 5. /installdir/auto_op.py  
  22.  
  23. Support  
  24.  
  25. If you have some problem , you can send mailto 244979152@qq.com.  
3、根據安裝文件安裝,先指定安裝目錄
  1. root@squid:/tmp/auto# python setup.py build --prefix=/usr/local/auto_op  
  2. Start to check pre-installation environment...................................  
  3.  
  4. direcotry not exsit,creating successful........  
  5. If no error printed out , you can run `python setup.py install` to install the program  
4、然後再進行安裝
  1. root@squid:/tmp/auto# python setup.py install  
  2. Extract files to working directory...  
  3.  
  4.  
  5. Complete ok  
  6. Now you can run /usr/local/auto_op/auto_op.py start manage your network.  
5、進入安裝目錄執行軟體
  1. root@squid:/tmp/auto# cd /usr/local/auto_op/  
  2. root@squid:/usr/local/auto_op# ll  
  3. total 36  
  4. drwxr-xr-x  2 root root  4096 Mar 21 10:02 ./  
  5. drwxr-xr-x 12 root root  4096 Mar 21 10:02 ../  
  6. -rw-r--r--  1 root root 24783 Mar 21 10:02 auto_op.py  
  7. root@squid:/usr/local/auto_op# chmod 755 auto_op.py   
  8. root@squid:/usr/local/auto_op# ll  
  9. total 36  
  10. drwxr-xr-x  2 root root  4096 Mar 21 10:02 ./  
  11. drwxr-xr-x 12 root root  4096 Mar 21 10:02 ../  
  12. -rwxr-xr-x  1 root root 24783 Mar 21 10:02 auto_op.py*  
  13. root@squid:/usr/local/auto_op# ./auto_op.py   
  14. ------------------------------------Memu list-----------------------------------------------------------  
  15.                 1. Add new group  
  16.                 2. Rename group name  
  17.                 3. Delete group  
  18.                 4. List group member  
  19.                 5. List host in the group  
  20.                 6. Add new server to group  
  21.                 7. Delete server from group  
  22.                 8. Command excution on group servers  
  23.                 9. Command excution on one server  
  24.                 10. Upload or download on group servers  
  25.                 11. Upload or download on one server  
  26.                 12. Quit  
  27. --------------------------------Input number of you want to exec command---------------------------------  
  28.                                                                                Author is DengLei  
可以看到有很多選項,下面是介紹
  1. 1. Add new group                        #新增新組  
  2. 2. Rename group name                    #對組重新命名  
  3. 3. Delete group                     #刪除組  
  4. 4. List group member                    #列出已有的組名稱與成員數量  
  5. 5. List host in the group                   #列出組內的主機ip  
  6. 6. Add new server to group              #增加新主機到組裡  
  7. 7. Delete server from group             #刪除組裡的主機  
  8. 8. Command excution on group servers        #在組內的所有主機統一執行命令  
  9. 9. Command excution on one server       #對組內的某個主機執行命令  
  10. 10. Upload or download on group servers #對組內的所有主機進行上傳與下載檔案  
  11. 11. Upload or download on one server        #對組內的某個主機進行上傳與下載檔案  
  12. 12. Quit                                #退出  
安裝後的軟體結構
  1. root@squid:/tmp# tree /usr/local/auto_op/  
  2. /usr/local/auto_op/  
  3. |-- auto_op.py                          #程式包  
  4. |-- logs                                #日誌目錄  
  5. |   `-- operation.log                   #操作日誌  
  6. `-- server_list                         #組目錄  
  7.     `-- test                            #組  
  8.  
  9. 2 directories, 3 files  
二、測試
1、選擇1進行建立新組
  1. please input you choice:1                           #選擇1建立新組  
  2. please input new group name:test                        #組名為test  
  3. Created group test successful.  
  4. Do you want to add new server to Group test [ Y / N ]:y #選擇新增新主機到test組裡  
  5. Input new server IP or Hostname:192.168.101.235     #新主機的ip  
  6. Input newser`s port:22                              #新主機的埠  
  7. Input newser`s username:root                        #新主機的使用者名稱  
  8. Input newser`s password:123456                      #新主機的祕密  
  9. New server 192.168.101.235 added successfully.  

2、在新建立個one組,然後進行重新命名組操作
  1. please input you choice:1                            #選項1是建立新組  
  2. please input new group name:one                      #新組名為one  
  3. Created group one successful.  
  4. Do you want to add new server to Group one [ Y / N ]:n  #不新增主機到組裡     
  5. ------------------------------------Memu list-----------------------------------------------------------  
  6.                 1. Add new group  
  7.                 2. Rename group name  
  8.                 3. Delete group  
  9.                 4. List group member  
  10.                 5. List host in the group  
  11.                 6. Add new server to group  
  12.                 7. Delete server from group  
  13.                 8. Command excution on group servers  
  14.                 9. Command excution on one server  
  15.                 10. Upload or download on group servers  
  16.                 11. Upload or download on one server  
  17.                 12. Quit  
  18. --------------------------------Input number of you want to exec command---------------------------------  
  19.                                                                                Author is DengLei  
  20. please input you choice:2                            #選項2是對組重新命名  
  21. ---------------  
  22. Which group name do you want to change?:one          #重新命名組為one  
  23. New name:first                                   #重新命名為first  
  24.  group name of one changed to first  
3、選擇4檢視本機所有組的狀態
  1. please input you choice:4  
  2. now there is group is  
  3. test[1]  
  4. first[0]  
可以看到test組有1個成員,first沒有成員
4、刪除first組
  1. please input you choice:3                                #選項3是刪除組  
  2. please inupt you want to del group name:first                #輸入要刪除的組名  
  3. first     
  4. Are you sure you want to delete groupfirst [ Y / N ]: y         #確認是否刪除  
  5. Deleted group first  
  6.    
  7. ------------------------------------Memu list-----------------------------------------------------------  
  8.                 1. Add new group  
  9.                 2. Rename group name  
  10.                 3. Delete group  
  11.                 4. List group member  
  12.                 5. List host in the group  
  13.                 6. Add new server to group  
  14.                 7. Delete server from group  
  15.                 8. Command excution on group servers  
  16.                 9. Command excution on one server  
  17.                 10. Upload or download on group servers  
  18.                 11. Upload or download on one server  
  19.                 12. Quit  
  20. --------------------------------Input number of you want to exec command---------------------------------  
  21.                                                                                Author is DengLei  
  22. please input you choice:4                                #在檢視一下當前的所有組  
  23. now there is group is  
  24. test[1]  
5、選擇5檢視test組裡所有的主機
  1. please input you choice:5                                #選項5檢視組內的主機  
  2.  
  3. Input Group name which the server is in:test                #輸入檢視的組名  
  4. ------------------------Server List----------------------------  
  5. 192.168.101.235                                      #test組內的主機  
6、選項6增加新主機到組裡
  1. please input you choice:6                               #選項6新增新主機到組  
  2.  
  3. Input Group name which the server is in:test            #選項新增新主機的組  
  4. ------------------------Server List----------------------------  
  5. 192.168.101.235                                      #組內的所有主機  
  6.  
  7. groupfile is /usr/local/auto_op/server_list/test  
  8. Input new server IP or Hostname:192.168.101.236         #新主機的ip  
  9. Input newser`s port:22                                  #新主機的埠  
  10. Input newser`s username:root                            #新主機的使用者  
  11. Input newser`s password:123456                       #新主機的密碼  
  12. New server 192.168.101.236 added successfully.  
  13. Keep on adding new server?:[ Y / N ]y                   #是否繼續新增新主機  
  14. Input new server IP or Hostname:1.1.1.1  
  15. Input newser`s port:22  
  16. Input newser`s username:root  
  17. Input newser`s password:123456  
  18. New server 1.1.1.1 added successfully.  
  19. Keep on adding new server?:[ Y / N ]n  
7、選擇7刪除主機從組裡
  1. please input you choice:7  
  2.  
  3. Input Group name which the server is in:test  
  4. ------------------------Server List----------------------------  
  5. 192.168.101.235  
  6. 192.168.101.236  
  7. 1.1.1.1  
  8.  
  9.  
  10. Notice: All matched IP adresses will be deleted,becare  
  11. Input the server IP which you want to delete:1.1.1.1  
  12. 1.1.1.1  
  13. matched rows: 1  
  14. Do you want to delete all the matched rows?(y/n)y  
  15. IP 1.1.1.1 has been deleted from group test   
  16.  
  17. Notice: All matched IP adresses will be deleted,becare  
  18. Input the server IP which you want to delete:you command is CTRL+C go back  
  19. ------------------------------------Memu list-----------------------------------------------------------  
  20.                 1. Add new group  
  21.                 2. Rename group name  
  22.                 3. Delete group  
  23.                 4. List group member  
  24.                 5. List host in the group  
  25.                 6. Add new server to group  
  26.                 7. Delete server from group  
  27.                 8. Command excution on group servers  
  28.                 9. Command excution on one server  
  29.                 10. Upload or download on group servers  
  30.                 11. Upload or download on one server  
  31.                 12. Quit  
  32. --------------------------------Input number of you want to exec command---------------------------------  
  33.                                                                                Author is DengLei  
  34. please input you choice:5  
  35.  
  36. Input Group name which the server is in:test  
  37. ------------------------Server List----------------------------  
  38. 192.168.101.235  
  39. 192.168.101.236  

8、選項8對組內所有主機同時執行命令

  1. please input you choice:8                    #選擇8對組內所有主機執行命令  
  2. now there is group is                        #列出當前所有的組  
  3. test[2]  
  4. please input you choice group:test               #輸入項執行命令的組  
  5. You choice test group  
  6. please input you want to select command,Ctrl + C to quit:hostname       #輸入執行的命令  
  7. -------------------------------  
  8. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:21:51  
  9. exec result is  
  10. linux-cbb3                                                   #執行的結果  
  11.  192.168.101.235 exec command [`hostname`] OK!  
  12. end time is 2013-03-21 10:21:51  
  13. -------------------------------  
  14. -------------------------------  
  15. start to connect ip 192.168.101.236 port 22 username root  at time 2013-03-21 10:21:51  
  16. exec result is  
  17. squid  
  18.  192.168.101.236 exec command [`hostname`] OK!  
  19. end time is 2013-03-21 10:21:52  
  20. -------------------------------  
  21. please input you want to select command,Ctrl + C to quit:  
9、選項9對組內的某個主機執行命令
  1. please input you choice:9                            #選擇9  
  2. now there is group is                                 
  3. test[2]  
  4.  
  5. Input Group name which the server is in:test                                 #選擇test組  
  6. ------------------------Server List----------------------------  
  7. 192.168.101.235  
  8. 192.168.101.236  
  9.  
  10. Please input you want to execute the command of the host name:192.168.101.235   #選擇主機  
  11. please input you want to select command,Ctrl + C to quit:uptime              #輸入命令  
  12. -------------------------------  
  13. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:23:50  
  14. exec result is  
  15.  10:25pm  up 152 days 18:02,  1 user,  load average: 0.07, 0.02, 0.00  
  16.  192.168.101.235 exec command [`uptime`] OK!  
  17. end time is 2013-03-21 10:23:51  
  18. -------------------------------  
  19. please input you want to select command,Ctrl + C to quit:  
10、選項10是對組內進行檔案的上傳與下載
  1. please input you choice:10  
  2. ------------------------------------Memu list-----------------------------------------------------------  
  3.                 1. Upload file to remote group servers  
  4.                 2. Download file to remote group server  
  5.                 3. Quit  
  6. --------------------------------Input number of you want to exec command---------------------------------  
  7.                                                                                Author is DengLei  
可以看到選項10裡有3個選項
1、把本地的檔案上傳到組內所有主機裡
2、從組內的所有主機下載檔案到本機
3、退出
我們先進行1項,把本地的檔案上傳到組內所有主機裡
  1. please input you choice:1  
  2. now there is group is  
  3. test[2]  
  4. please input you choice group:test  
  5. You choice test group  
  6. please input you want to upload localpath file name,Ctrl + C to quit:/tmp/log   #上傳本機的檔案  
  7. please input you want to upload remotepath file name,Ctrl + C to quit:/tmp/test-upload-file-to-group.log        #上傳到組內主機的檔名  
  8. Are you sure upload file from /tmp/log to /tmp/test-upload-file-to-group.log in the test group y  
  9. ------------------------------- #確認是否傳輸  
  10. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:28:46  
  11. 192.168.101.235 exec put /tmp/log to /tmp/test-upload-file-to-group.log OK!  
  12. end time is 2013-03-21 10:28:47  
  13. -------------------------------  
  14. -------------------------------  
  15. start to connect ip 192.168.101.236 port 22 username root  at time 2013-03-21 10:28:47  
  16. 192.168.101.236 exec put /tmp/log to /tmp/test-upload-file-to-group.log OK!  
  17. end time is 2013-03-21 10:28:47  
  18. -------------------------------  
查詢的話就是
  1. please input you choice:8  
  2. now there is group is  
  3. test[2]  
  4. please input you choice group:test  
  5. You choice test group  
  6. please input you want to select command,Ctrl + C to quit:ls -l /tmp/test-upload-file-to-group.log  
  7. -------------------------------  
  8. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:30:42  
  9. exec result is  
  10. -rw-r--r-- 1 root root 21 Mar 21 22:30 /tmp/test-upload-file-to-group.log  
  11.  192.168.101.235 exec command [`ls -l /tmp/test-upload-file-to-group.log`] OK!  
  12. end time is 2013-03-21 10:30:42  
  13. -------------------------------  
  14. -------------------------------  
  15. start to connect ip 192.168.101.236 port 22 username root  at time 2013-03-21 10:30:42  
  16. exec result is  
  17. -rw-r--r-- 1 root root 21 Mar 21 10:28 /tmp/test-upload-file-to-group.log  
  18.  192.168.101.236 exec command [`ls -l /tmp/test-upload-file-to-group.log`] OK!  
  19. end time is 2013-03-21 10:30:43  
  20. -------------------------------  
下面進行選項2,從組內的所有主機下載檔案到本機
  1. please input you choice:10  
  2. ------------------------------------Memu list-----------------------------------------------------------  
  3.                 1. Upload file to remote group servers  
  4.                 2. Download file to remote group server  
  5.                 3. Quit  
  6. --------------------------------Input number of you want to exec command---------------------------------  
  7.                                                                                Author is DengLei  
  8. please input you choice:2  
  9. now there is group is  
  10. test[2]  
  11. please input you choice group:test  
  12. You choice test group  
  13. please input you want to download localpath file name,Ctrl + C to quit:/tmp/test-download-to-group.log  
  14. please input you want to download remotepath file name,Ctrl + C to quit:/tmp/test-upload-file-to-group.log  
  15. Are you sure download file from /tmp/test-download-to-group.log to /tmp/test-upload-file-to-group.log in the test group y  
  16. -------------------------------  
  17. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:32:13  
  18. 192.168.101.235 exec get /tmp/test-upload-file-to-group.log from /tmp/test-download-to-group.log_192.168.101.235 OK!  
  19. end time is 2013-03-21 10:32:13  
  20. -------------------------------  
  21. -------------------------------  
  22. start to connect ip 192.168.101.236 port 22 username root  at time 2013-03-21 10:32:13  
  23. 192.168.101.236 exec get /tmp/test-upload-file-to-group.log from /tmp/test-download-to-group.log_192.168.101.236 OK!  
  24. end time is 2013-03-21 10:32:14  
我這回是把之前上傳的/tmp/test-upload-file-to-group.log檔案給現在到本地,命名為/tmp/test-download-to-group.log,由於是不同主機把檔案傳給本機,所以我在檔名後面加上了他們的ip好區分。
下面是檢視的結果
  1. please input you choice:8  
  2. now there is group is  
  3. test[2]  
  4. please input you choice group:test  
  5. You choice test group  
  6. please input you want to select command,Ctrl + C to quit:ls -l /tmp/test-download-to-group.log*  
  7. -------------------------------  
  8. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:34:22  
  9. exec result is  
  10. 192.168.101.235 exec command [`ls -l /tmp/test-download-to-group.log*`] OK!  
  11. end time is 2013-03-21 10:34:22  
  12. -------------------------------  
  13. -------------------------------  
  14. start to connect ip 192.168.101.236 port 22 username root  at time 2013-03-21 10:34:22  
  15. exec result is  
  16. -rw-r--r-- 1 root root 21 Mar 21 10:32 /tmp/test-download-to-group.log_192.168.101.235  
  17.  -rw-r--r-- 1 root root 21 Mar 21 10:32 /tmp/test-download-to-group.log_192.168.101.236  
  18.  192.168.101.236 exec command [`ls -l /tmp/test-download-to-group.log*`] OK!  
  19. end time is 2013-03-21 10:34:23  
  20. -------------------------------  
可以看到主機192.168.101.236已經獲得了/tmp/test-download-to-group.log_192.168.101.235與/tmp/test-download-to-group.log_192.168.101.236的2個檔案
11、選項11是進行組內某主機的上傳與下載,也就是單臺主機的
  1. please input you choice:11  
  2. ------------------------------------Memu list-----------------------------------------------------------  
  3.                 1. Upload file to remote one server  
  4.                 2. Download file to remote one server  
  5.                 3. Quit  
  6. --------------------------------Input number of you want to exec command---------------------------------  
  7.                                                                                Author is DengLei  
裡面也有3個選項
1、從本機上傳檔案給遠端主機
2、從遠端主機下載檔案給本機
3、退出
現在進行選項1,從本機上傳檔案給遠端主機
  1. please input you choice:1  
  2. now there is group is  
  3. test[2]  
  4.  
  5. Input Group name which the server is in:test  
  6. ------------------------Server List----------------------------  
  7. 192.168.101.235  
  8. 192.168.101.236  
  9.  
  10. Please input you want to execute the command of the host name:192.168.101.235  
  11. please input you want to upload localpath file name,Ctrl + C to quit:/tmp/test-download-to-group.log_192.168.101.236  
  12. please input you want to upload remotepath file name,Ctrl + C to quit:/tmp/test-upload-to-host.log  
  13. Are you sure upload file from /tmp/test-download-to-group.log_192.168.101.236 to /tmp/test-upload-to-host.log in the 192.168.101.235 host y  
  14. -------------------------------  
  15. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:38:44  
  16. 192.168.101.235 exec put /tmp/test-download-to-group.log_192.168.101.236 to /tmp/test-upload-to-host.log OK!  
  17. end time is 2013-03-21 10:38:44  
  18. -------------------------------  
然後查詢
  1. please input you choice:9  
  2. now there is group is  
  3. test[2]  
  4.  
  5. Input Group name which the server is in:test  
  6. ------------------------Server List----------------------------  
  7. 192.168.101.235  
  8. 192.168.101.236  
  9.  
  10. Please input you want to execute the command of the host name:192.168.101.235  
  11. please input you want to select command,Ctrl + C to quit:ls -l /tmp/test-upload-to-host.log  
  12. -------------------------------  
  13. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:39:59  
  14. exec result is  
  15. -rw-r--r-- 1 root root 21 Mar 21 22:40 /tmp/test-upload-to-host.log  
  16.  192.168.101.235 exec command [`ls -l /tmp/test-upload-to-host.log`] OK!  
  17. end time is 2013-03-21 10:40:00  
  18. -------------------------------  
可以看到檔案已經上傳到192.168.101.235主機了
現在進行選項2,從遠端主機下載檔案給本機
  1. please input you choice:11  
  2. ------------------------------------Memu list-----------------------------------------------------------  
  3.                 1. Upload file to remote one server  
  4.                 2. Download file to remote one server  
  5.                 3. Quit  
  6. --------------------------------Input number of you want to exec command---------------------------------  
  7.                                                                                Author is DengLei  
  8. please input you choice:2  
  9. now there is group is  
  10. test[2]  
  11.  
  12. Input Group name which the server is in:test  
  13. ------------------------Server List----------------------------  
  14. 192.168.101.235  
  15. 192.168.101.236  
  16.  
  17. Please input you want to execute the command of the host name:192.168.101.235  
  18. please input you want to download localpath file name,Ctrl + C to quit:/tmp/test-download-to-host.log  
  19. please input you want to download remotepath file name,Ctrl + C to quit:/tmp/test-upload-to-host.log  
  20. Are you sure download file from /tmp/test-download-to-host.log to /tmp/test-upload-to-host.log in the 192.168.101.235 host y  
  21. -------------------------------  
  22. start to connect ip 192.168.101.235 port 22 username root  at time 2013-03-21 10:41:04  
  23. 192.168.101.235 exec get /tmp/test-upload-to-host.log from /tmp/test-download-to-host.log_192.168.101.235 OK!  
  24. end time is 2013-03-21 10:41:04  
  25. -------------------------------  
進行檢視
  1. please input you choice:9  
  2. now there is group is  
  3. test[2]  
  4.  
  5. Input Group name which the server is in:test  
  6. ------------------------Server List----------------------------  
  7. 192.168.101.235  
  8. 192.168.101.236  
  9.  
  10. Please input you want to execute the command of the host name:192.168.101.236  
  11. please input you want to select command,Ctrl + C to quit:ls -l /tmp/test-download-to-host.log_192.168.101.235  
  12. -------------------------------  
  13. start to connect ip 192.168.101.236 port 22 username root  at time 2013-03-21 10:41:45  
  14. exec result is  
  15. -rw-r--r-- 1 root root 21 Mar 21 10:41 /tmp/test-download-to-host.log_192.168.101.235  
  16.  192.168.101.236 exec command [`ls -l /tmp/test-download-to-host.log_192.168.101.235`] OK!  
  17. end time is 2013-03-21 10:41:46  
  18. -------------------------------  
也傳輸成功
12、操作日誌檢視
所有的操作都有存放到日誌裡,方便檢視
  1. root@squid:/tmp# cd /usr/local/auto_op/  
  2. root@squid:/usr/local/auto_op# ll  
  3. total 44  
  4. drwxr-xr-x  4 root root  4096 Mar 21 10:03 ./  
  5. drwxr-xr-x 12 root root  4096 Mar 21 10:02 ../  
  6. -rwxr-xr-x  1 root root 24783 Mar 21 10:02 auto_op.py*  
  7. drwxr-xr-x  2 root root  4096 Mar 21 10:09 logs/  
  8. drwxr-xr-x  2 root root  4096 Mar 21 10:19 server_list/  
  9. root@squid:/usr/local/auto_op# cd logs/  
  10. root@squid:/usr/local/auto_op/logs# ll  
  11. total 16  
  12. drwxr-xr-x 2 root root 4096 Mar 21 10:09 ./  
  13. drwxr-xr-x 4 root root 4096 Mar 21 10:03 ../  
  14. -rw-r--r-- 1 root root 5415 Mar 21 10:41 operation.log  
  15. root@squid:/usr/local/auto_op/logs# tail -f operation.log   
  16. 2013-03-21 10:36:40   show group test server list[`192.168.101.235`, `192.168.101.236`]  
  17. 2013-03-21 10:38:44   192.168.101.235 exec put /tmp/test-download-to-group.log_192.168.101.236 to /tmp/test-upload-to-host.log OK!  
  18. 2013-03-21 10:39:08   show group test server list[`192.168.101.235`, `192.168.101.236`]  
  19. 2013-03-21 10:39:25   192.168.101.235 exec command [`ls -l /tmp/test-download-to-group.log_192.168.101.236`] OK!  
  20. 2013-03-21 10:39:50   show group test server list[`192.168.101.235`, `192.168.101.236`]  
  21. 2013-03-21 10:40:00   192.168.101.235 exec command [`ls -l /tmp/test-upload-to-host.log`] OK!  
  22. 2013-03-21 10:40:38   show group test server list[`192.168.101.235`, `192.168.101.236`]  
  23. 2013-03-21 10:41:04   192.168.101.235 exec get /tmp/test-upload-to-host.log from /tmp/test-download-to-host.log_192.168.101.235 OK!  
  24. 2013-03-21 10:41:24   show group test server list[`192.168.101.235`, `192.168.101.236`]  
  25. 2013-03-21 10:41:46   192.168.101.236 exec command [`ls -l /tmp/test-download-to-host.log_192.168.101.235`] OK!  
可以看到之前的操作

現在本軟體的所有功能就都實現了,希望各位能多提供建議與問題,也希望各位同仁能一起分享一下自己對運維自動化的經驗,多對軟體進行開源,謝謝。