SHELL实例之日志时间转换
想把Apache已经生成的access.log文件中的[01/Aug/2008:14:06:30 +0800] 部分, 转换 成UTC 时间 的形式,然后输出为一个新的 日志 文件,如何用Shell实现 一下是access.log中记录的一个例子: 192.168.10.174 - - [01/Aug/2008:14:06:30 +0800] GET / HTTP/1.
想把Apache已经生成的access.log文件中的[01/Aug/2008:14:06:30 +0800] 部分,转换成UTC时间的形式,然后输出为一个新的日志文件,如何用Shell实现一下是access.log中记录的一个例子:
192.168.10.174 - - [01/Aug/2008:14:06:30 +0800] "GET / HTTP/1.1" 302 659 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:31 +0800] "GET /index.jsp HTTP/1.1" 200 16533 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /ShowImageServlet?id=1&lang=ja&bean=SolutionBean HTTP/1.1" 200 5083 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /ShowImageServlet?id=2&lang=ja&bean=SolutionBean HTTP/1.1" 200 5148 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /images/favicon.ico HTTP/1.1" 200 5 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /images/w3c_xhtml1.0.gif HTTP/1.1" 200 2333 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /images/zh/title.gif HTTP/1.1" 200 6606 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /include/MatrixOne.swf HTTP/1.1" 200 4073 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /script/Select.htc HTTP/1.1" 200 13800 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /script/Select.htc HTTP/1.1" 200 13800 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /script/check.js HTTP/1.1" 200 3619 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /script/initMenu.js HTTP/1.1" 200 17565 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /script/ja/souceXML.xml HTTP/1.1" 200 2604 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /script/styleSwitch.js HTTP/1.1" 200 1660 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /style/gray%20window/bgImg.gif HTTP/1.1" 200 97 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
192.168.10.174 - - [01/Aug/2008:14:06:32 +0800] "GET /style/gray%20window/bottom_bg.jpg HTTP/1.1" 200 4657 "http://192.168.10.253/index.jsp" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GoogleT5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)"
try:
$ awk 'BEGIN { FS="[][]"; OFS="" } {gsub(/\//,"-",$2);sub(/:/," ",$2); "date -ud \""$2"\""|getline a;$2="["a"]";print }' access.log
或者用gsed s/...//e
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。
例如我的例子中的[01/Aug/2008:14:06:30 +0800]是本地时间(即北京时间)
UTC + 时区差 = 本地时间
时区差东为正,西为负。在此,把东八区时区差记为 +0800,
UTC + (+0800) = 本地(北京)时间 (1)
那么,UTC = 本地时间(北京时间))- 0800 (2)
14:06:30 - 08:00:00 = 06:06:30 这个就是UTC时间,不过有的时候会得到前一天的时间
这个也是个问题。。。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

要在 Apache 中設置 CGI 目錄,需要執行以下步驟:創建 CGI 目錄,如 "cgi-bin",並授予 Apache 寫入權限。在 Apache 配置文件中添加 "ScriptAlias" 指令塊,將 CGI 目錄映射到 "/cgi-bin" URL。重啟 Apache。

Apache 連接數據庫需要以下步驟:安裝數據庫驅動程序。配置 web.xml 文件以創建連接池。創建 JDBC 數據源,指定連接設置。從 Java 代碼中使用 JDBC API 訪問數據庫,包括獲取連接、創建語句、綁定參數、執行查詢或更新以及處理結果。

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

有 3 種方法可在 Apache 服務器上查看版本:通過命令行(apachectl -v 或 apache2ctl -v)、檢查服務器狀態頁(http://<服務器IP或域名>/server-status)或查看 Apache 配置文件(ServerVersion: Apache/<版本號>)。

如何查看 Apache 版本?啟動 Apache 服務器:使用 sudo service apache2 start 啟動服務器。查看版本號:使用以下方法之一查看版本:命令行:運行 apache2 -v 命令。服務器狀態頁面:在 Web 瀏覽器中訪問 Apache 服務器的默認端口(通常為 80),版本信息顯示在頁面底部。

如何在 Apache 中配置 Zend?在 Apache Web 服務器中配置 Zend Framework 的步驟如下:安裝 Zend Framework 並解壓到 Web 服務器目錄中。創建 .htaccess 文件。創建 Zend 應用程序目錄並添加 index.php 文件。配置 Zend 應用程序(application.ini)。重新啟動 Apache Web 服務器。

Apache 無法啟動,原因可能有以下幾點:配置文件語法錯誤。與其他應用程序端口衝突。權限問題。內存不足。進程死鎖。守護進程故障。 SELinux 權限問題。防火牆問題。軟件衝突。

要從 Apache 中刪除多餘的 ServerName 指令,可以採取以下步驟:識別並刪除多餘的 ServerName 指令。重新啟動 Apache 使更改生效。檢查配置文件驗證更改。測試服務器確保問題已解決。
