Shell中按月打包日誌小指令碼
Linux中的各種Web,資料庫,各種服務經常會按日產生大量日誌。運維的時候經常要做的就是按月來壓縮、歸檔。
UserWeb.log.2011-1-1 UserWeb.log.2011-1-2 ... UserWeb.log.2011-2-1 UserWeb.log.2011-2-2 ... UserWeb.log.2011-3-1 UserWeb.log.2011-3-2 ... UserWeb.log.2012-1-1 UserWeb.log.2012-2-1 UserWeb.log.2012-3-1 UserWeb.log.2013-1-1 UserWeb.log.2013-2-1 UserWeb.log.2013-3-1 ...........
像上面的資料格式,可以寫成shell指令碼放到cronb每月自動處理,也可以用一條語句自動處理
#!/bin/bash
for n in $(seq -w 2011 2018)
do
tar -cvzf UserWeb.log.${n}.tar.gz UserWeb.log.${n}-{1..12}-{1..31}
done
相關推薦
Shell中按月打包日誌小指令碼
Linux中的各種Web,資料庫,各種服務經常會按日產生大量日誌。運維的時候經常要做的就是按月來壓縮、歸檔。 UserWeb.log.2011-1-1 UserWeb.log.2011-1-2 ... UserWeb.log.2011-2-1 UserWeb.log.2011-2-2 ...
shell清除日誌小指令碼
1 #!/bin/bash 2 #清除日誌指令碼 3 LOG_DIR=/var/log 4 ROOT_UID=0 #使用者id為0的 ,即為root 5 6 if [ "$UID" -ne "$ROOT_UID" ]
php 按月建立日誌
public function log($log_string){ //$_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."files".DIRECTORY_SEPARATOR."log".DIRECTORY_SEPARATOR; $file_directory =
shell中的大括號和小括號
在這裡我想說的是幾種shell裡的小括號,大括號結構和有括號的變數,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pa
刪除7天前的shell 小指令碼
#!/bin/bash logdir=/opt ----日誌存放的路徑 old_day=`date +%Y%m%d -d"-7 days "` ----查詢時間 filename=$logdir/SaServiceWebApplication.$old_day.log
MySQL中按年+月統計期間資料
sql程式碼: SELECT DATE_FORMAT(d.create_date, '%Y-%m') AS MONTH, sum(d.apply_amount) AS money FROM test d WHERE DATE_FORMAT(d.create_date, '%Y-%m')
Shell中過濾某些檔案不刪的小tips
有時候某一目錄下,需要保留某些檔案或目錄不刪,其餘的都刪除,可以使用下面的語句 [[email protected] ~]# touch file{1..10} [[email protected] ~]# mkdir -p D1/D2/D3 [[email p
7月16日任務 shell中的函式 、shell中的陣列、告警系統需求分析
20.16 shell中的函式 函式就是把一段程式碼整理到了一個小單元中,並給這個小單元起一個名字,當用到這段程式碼時直接呼叫這個小單元的名字即可。 格式: function f_name() { &nbs
用shell實現一個小指令碼,用來同來統計自己某個檔案下的程式碼,總的程式碼行數,總的註釋量,總的空行量?支援遍歷查詢,支援軟連結查詢
[[email protected] yunwei]# cat sum_code_row_version1.4.sh #!/bin/bash # File Name: sum_code_row.sh # Author: Liwqiang # mail: [email
SSIS 根據查詢庫中的年月按月迴圈輸出CSV檔案並動態以該月份命名
SSIS 根據查詢庫中的年月按月迴圈輸出CSV檔案並以該月份命名。 先看一下整體結構。 控制流: 資料流: 首先我們先做一個執行sql任務,配置如下: 結果集配置: 注意結果集中的變數是Object型別的,因為返回的是結果集型別。要是單個數據則該變數為Str
sqlserver中如何實現時間按月,日,小時分組查詢
--按照月份統計 select count(id) cnt,datepart(mm,time) [Month] from [table] where [time] between '2007/09/08 09:10:43' and '2007/10/09 04:32:37'
shell中迴圈呼叫hive sql 指令碼
指令碼tt.sh的內容如下: #!/bin/bash params=$1 for param in $params do echo $param done 執行方式為:sh tt.sh "1 2 3 4 5" 輸出為: 1 2 3 4 5 ---------
【Jenkins】——shell中執行多個指令碼
前言 前面已經寫了一篇部落格 上篇部落格中只提到了在shell中只執行一個指令碼,生成對應的jtl檔案 並對其進行資料分析。 有些時候我們可能需要測試很多的指令碼,但是因為每
Shell中檢測某一網段IP線上與否的指令碼
作為系統管理員或者執行維護人員,經常會碰到檢查某個網段IP是up還是down的情況,這個時候肯定不會一個個手工去ping的,寫指令碼是肯定的,小指令碼其實很簡單 #!/bin/bash set -xv ip1='192.168.0' for ip2 in $(seq 0 254) do
Shell中的tr命令加密解密中的一個小應用
tr命令可以來刪除或替換,這個可能大家都非常熟悉。比如 [[email protected] ~]# echo "The Number:12345" | tr -cd '[0-9]' # 僅保留數字 12345 [[email protected] ~]# echo "
SHELL中一個指令碼如何引用另一個指令碼的中定義的變數
建立一個 sh.config的指令碼 #PATH------------------------------------------------------------ bakFile=/ngbboss/mddms/inter/onlineto/bakfile logFil
jsp頁面中的java程式碼(jsp表示式、jsp小指令碼、jsp宣告)
jsp頁面中的java程式碼,有三種:jsp表示式、jsp小指令碼、jsp宣告。 編寫位置:頁面的任意位置。 作用:控制頁面中可變內容的產生。 1.jsp表示式 語法規則:<%= ... %> 轉譯成 Servlet 時的規則:在 service()方法中用 o
常用的shell日誌統計指令碼
egrep "2017:15:" access.log | awk '{print $6}'| sort | uniq -c | sort -rn | head sort -u 去重 保證唯一性 uniq 去除連續性的重複 sort + uniq -c 是黃金搭檔 sor
MySQL中如何按月統計資料
表finance有倆個欄位如下 date date money double(15,2) 下面需要對錶 finance的2010年財務資料,按月進行統計 Sql程式碼 select DATE_FORMAT(date,'%Y-%m') as month,sum(money)
shell中指令碼與函式的使用策略
指令碼:執行的副作用不影響父環境,開闢了fork子程序; 函式:副作用,定義的變數,資料預設直接新增到了呼叫者的環境,也是它自己的環境;不想副作用影響呼叫者環境,就必須主動用local修飾; 指令碼可以使用source退化為函式; 儘量使用指令碼,而不是函式,除非函式本身就是系統級別的作