2016-06-15 106 views
-1

我想說明logadm是如何工作的。 因此,通過查看在線資料,我編寫了一個小腳本,將日期重定向到日誌文件並休眠1秒鐘。這將在無限循環中運行。Solaris logadm日誌輪換

#!/usr/bin/bash 

while true 
do 
echo `date` >>/var/tmp/temp.log 
sleep 1 
done 

在此之後我下面的命令執行:

logadm -w /var/tmp/temp.log -s 100b 
logadm -V 

我從上方命令意圖是log(/var/tmp/temp.log)應該爲每個100個字節旋轉。

但設置完這些後,當我在後臺運行腳本時,我看到日誌文件沒有旋轉。

# ls -lrth /var/tmp/temp.log* 
-rw-r--r-- 1 root  root  7.2K Jun 15 08:56 /var/tmp/temp.log 
# 

回答

0

據我所知,你必須打電話給它做工作,例如,從crontab或手動像logadm -c /var/tmp/temp.log(通常安裝在crontab中)

Sidenode:你可以簡單地寫date >> /var/tmp/temp.log不帶回聲。

0

這不是我通常會這樣做的,再加上我想你可能誤解了-w選項。

-w選項使用命令行上的參數更新/etc/logadm.conf,然後在凌晨3點(在我檢查的計算機上)10分鐘運行logadm。

我把你的腳本跑了,然後跑: 「logadm -s 100b /var/tmp/temp.log」 它工作正常。試一試! :-)

+0

我也試過這個。只有當執行這個命令logadm - 它會旋轉並創建一個新文件但它不會從那裏繼續。新文件將堆放新創建的文件中的數據。所以它只旋轉一次。這不符合目的。 – user1939168

+0

您需要創建一個crontab條目,實際上在Solaris 10和11中默認有一個在03:10運行。你還需要在/etc/logadm.conf中添加一些東西(做一個man logadm和logadm.conf)。您的輸入可能如下所示:「templog -s 100b /var/tmp/temp.log」 – Noj