亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

go語言實現通過FTP庫自動上傳web日志

2020-04-01 19:15:15
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了go語言實現通過FTP庫自動上傳web日志,非常簡單實用,需要的小伙伴快來參考下吧。

因為平時管理的web服務器都是VM服務器,為節省硬盤空間,一般給虛擬機分配的硬盤空間都比較小,只有8G,因為,保存不了多少日志,所以每天都需要把每臺WEB日志轉移到一個硬盤比較大的服務器上,然后再使用NBU集中備份,本程序主要使用go語言實現實現將web日志通過FTP自動上傳FTP服務器,使用了filepath.Walk遍歷日志目錄及第三方純go庫“github.com/jlaffaye/ftp”,而日志VM本地存儲路徑格式是 /var/log/weblog/www.domainName.com/month/20140616.access.log,

 

 
  1. // uploadlog 
  2. /* 
  3. 1.本程序主要是實現linux下上傳web日志使用, 
  4. 2.使用方法是 uploadlog logfile_dir 
  5. 程序只上傳當前時間點的日志文件, 
  6. */ 
  7. package main 
  8. import ( 
  9. "fmt" 
  10. ftp "github.com/jlaffaye/ftp" 
  11. "log" 
  12. "net" 
  13. "os" 
  14. "path/filepath" 
  15. "strconv" 
  16. "strings" 
  17. "time" 
  18. func main() { 
  19. fmt.Println("Hello World!"
  20. if len(os.Args) != 2 { 
  21. log.Fatal("Usage:" + filepath.Base(os.Args[0]) + " log_dir "
  22. os.Exit(1) 
  23. //logFileName是將要分析的日志 
  24. logFileName, _, _ := getLogFileName() 
  25. serverIp := getLocalIpAddr() 
  26. //serverName, _ := os.Hostname() 
  27. time.Sleep(time.Duration(90) * time.Second) 
  28. dir := os.Args[1] 
  29. filepath.Walk(dir, func(path string, f os.FileInfo, err error) error { 
  30. if f == nil { 
  31. return err 
  32. if f.IsDir() { 
  33. return nil 
  34. if f.Name() == logFileName { 
  35. fmt.Println(path) 
  36. //pathFields的作用是將日志path解析成一個數據,從而可以得到日志的域名,注意,如果是linux系統,要用“/” 
  37. pathFields := strings.Split(path, "/"
  38. var domainName string 
  39. if len(pathFields) > 3 { 
  40. domainName = pathFields[len(pathFields)-3] 
  41. fmt.Println(time.Now()) 
  42. ftpUploadFile("ftp-server-ip:21""logftpuser""ftp-password", path, domainName, serverIp+"_"+logFileName) 
  43. fmt.Println(time.Now()) 
  44. return nil 
  45. }) 
  46. func getLogFileName() (string, string, string) { 
  47. MonthTOstr := map[string]string{"January""01"
  48. "February""02"
  49. "March""03"
  50. "April""04"
  51. "May""05"
  52. "June""06"
  53. "July""07"
  54. "August""08"
  55. "September""09"
  56. "October""10"
  57. "November""11"
  58. "December""12"
  59. timenow := time.Now() 
  60. year, month, day := timenow.Date() 
  61. //monthStr := month.String() 
  62. hour, _, _ := timenow.Clock() 
  63. yearStr := strings.TrimLeft(strconv.Itoa(year), "20"//去掉前面的四位數年份如"2014"年的“20” 
  64. dayStr, hourStr := strconv.Itoa(day), strconv.Itoa(hour) 
  65. if day < 10 { 
  66. dayStr = "0" + dayStr 
  67. if hour < 10 { 
  68. hourStr = "0" + hourStr 
  69. fileName := "ex" + yearStr + MonthTOstr[month.String()] + dayStr + hourStr + ".log" 
  70. logDay := yearStr + MonthTOstr[month.String()] + dayStr 
  71. logMonth := yearStr + MonthTOstr[month.String()] 
  72. //monthSrt := strconv.Itoa(timenow.Month()) 
  73. //fmt.Println(fileName, logDay) 
  74. return fileName, logDay, logMonth 
  75. //fmt.Println(fileName) 
  76. func getLocalIpAddr() string { 
  77. //這里使用一個合法的IP就行了,端口隨便,即使沒有打開也行,也許因為使用UDP,如果用TCP的話,對端不打開就會有問題 
  78. conn, err := net.Dial("udp""192.168.8.51:80"
  79. if err != nil { 
  80. //fmt.Println(err.Error()) 
  81. return "127.0.0.1" 
  82. defer conn.Close() 
  83. //fmt.Println(conn.LocalAddr().String()) 
  84. //conn. 
  85. //fmt.Println(strings.Split(conn.LocalAddr().String(), ":")[0]) 
  86. return strings.Split(conn.LocalAddr().String(), ":")[0] 
  87. func ftpUploadFile(ftpserver, ftpuser, pw, localFile, remoteSavePath, saveName string) { 
  88. ftp, err := ftp.Connect(ftpserver) 
  89. if err != nil { 
  90. fmt.Println(err) 
  91. err = ftp.Login(ftpuser, pw) 
  92. if err != nil { 
  93. fmt.Println(err) 
  94. //注意是 pub/log,不能帶“/”開頭 
  95. ftp.ChangeDir("pub/log"
  96. dir, err := ftp.CurrentDir() 
  97. fmt.Println(dir) 
  98. ftp.MakeDir(remoteSavePath) 
  99. ftp.ChangeDir(remoteSavePath) 
  100. dir, _ = ftp.CurrentDir() 
  101. fmt.Println(dir) 
  102. file, err := os.Open(localFile) 
  103. if err != nil { 
  104. fmt.Println(err) 
  105. defer file.Close() 
  106. err = ftp.Stor(saveName, file) 
  107. if err != nil { 
  108. fmt.Println(err) 
  109. ftp.Logout() 
  110. ftp.Quit() 
  111. fmt.Println("success upload file:", localFile) 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情乱人伦| 在线a欧美视频| 亚洲图片在区色| 欧美裸体xxxx| 久久露脸国产精品| 国产亚洲欧美日韩一区二区| 日韩中文字幕在线| 成人网页在线免费观看| 国产一区二区三区在线播放免费观看| 国内精久久久久久久久久人| 青青青国产精品一区二区| 久久最新资源网| 亚洲成人激情图| 日韩hd视频在线观看| 亚洲a区在线视频| 亚洲www在线| 亚洲福利视频久久| 欧美日韩另类在线| 亚洲午夜精品久久久久久性色| 亚洲 日韩 国产第一| 色综合久久精品亚洲国产| 中文字幕日韩有码| 69**夜色精品国产69乱| 欧美壮男野外gaytube| 国产午夜精品视频免费不卡69堂| 亚洲男人的天堂在线播放| 在线不卡国产精品| 中文字幕日韩欧美在线| 日韩精品在线第一页| 国产精品视频免费观看www| 亚洲欧美日韩一区二区三区在线| 亚洲xxx自由成熟| 国产精品h片在线播放| 亚洲人成77777在线观看网| 大胆欧美人体视频| 欧美综合国产精品久久丁香| 亚洲国产日韩欧美在线99| 国产日韩欧美在线播放| 亚洲xxxxx电影| 成人亚洲综合色就1024| 国产精品美女久久久久av超清| 久久精品视频免费播放| 91黄色8090| 久久精品中文字幕电影| 日韩欧美在线国产| 亚洲第一网中文字幕| 日韩中文字幕欧美| 国产成人精品一区二区在线| 日韩av在线直播| 国产精品久久久av久久久| 国产精品美女www爽爽爽视频| 久久99国产综合精品女同| 国产做受69高潮| 亚洲精品电影在线观看| 欧美日韩在线视频一区| 亚洲人成伊人成综合网久久久| 国产v综合v亚洲欧美久久| 成人网在线免费看| 蜜臀久久99精品久久久久久宅男| 久久久久久这里只有精品| 欧美日韩国产激情| 国产精品免费久久久久久| 国内精品久久久久| 欧美日韩国产一区二区三区| 4444欧美成人kkkk| 亲子乱一区二区三区电影| 久久网福利资源网站| 一本一道久久a久久精品逆3p| 中文字幕日韩欧美精品在线观看| 国产精品盗摄久久久| 久久久国产一区| 日韩欧美在线免费| 亚洲激情在线观看视频免费| 91精品国产一区| 91精品国产91久久久久久吃药| 国产视频精品va久久久久久| 亚洲区在线播放| 欧美日韩在线视频首页| 91在线免费网站| 在线观看精品国产视频| 人人澡人人澡人人看欧美| 亚洲欧美日韩精品久久奇米色影视| 久久91精品国产91久久久| 日韩最新av在线| 久久久久久久久久久人体| 日韩av电影在线播放| 国产精品美女主播在线观看纯欲| 欧美人与性动交a欧美精品| 欧美高清无遮挡| 精品久久久久久国产91| 国产精品91久久久久久| 26uuu亚洲国产精品| 国产成人综合亚洲| 国产91免费观看| 亚洲天堂网站在线观看视频| 久久久久久美女| 少妇高潮久久久久久潘金莲| 日韩精品小视频| 国产精品一区二区久久久久| 国产91精品网站| 亚洲国产成人精品女人久久久| 国产精国产精品| 亚洲免费电影一区| 在线观看日韩视频| 成人h视频在线观看播放| 亚洲国产精品久久久久秋霞不卡| 国产欧美精品久久久| 国产精彩精品视频| 国产亚洲一级高清| 久久最新资源网| 国产精品99一区| 国产91在线播放九色快色| 日韩欧美在线免费| 国产精品视频网址| 亚洲午夜精品久久久久久久久久久久| 亚洲性av在线| 亚洲精品小视频在线观看| 欧美猛交ⅹxxx乱大交视频| 国产精彩精品视频| 精品久久久久久国产| 日韩成人小视频| 91精品国产综合久久男男| 成人免费网站在线观看| 正在播放欧美一区| 精品一区二区电影| 成人免费视频网址| 成人网在线免费观看| 国产成一区二区| 欧美一级黑人aaaaaaa做受| 亚洲男人天堂2024| xvideos亚洲| 亚洲精品一区二三区不卡| 久久精品国产亚洲| 欧美有码在线视频| 欧美性xxxx在线播放| 国色天香2019中文字幕在线观看| 精品人伦一区二区三区蜜桃网站| 色偷偷偷综合中文字幕;dd| 久久偷看各类女兵18女厕嘘嘘| 亚洲国产一区二区三区在线观看| 久久资源免费视频| 欧美小视频在线观看| 亚洲欧美日韩天堂一区二区| 欧美大人香蕉在线| 国内精品中文字幕| 91香蕉国产在线观看| 欧美一级在线亚洲天堂| 性视频1819p久久| 成人精品aaaa网站| 欧美日韩一区二区三区在线免费观看| 九九久久久久久久久激情| 日韩电影在线观看永久视频免费网站| 久久久久国产精品一区| 91精品国产乱码久久久久久久久| 久久全国免费视频| 亚洲xxxxx电影| 日韩高清免费观看| 日韩黄色在线免费观看| 久久不射热爱视频精品| 国产精品成人免费电影| 97国产精品人人爽人人做| 欧洲美女7788成人免费视频| 日韩欧美在线视频观看| 少妇久久久久久|