我已經生成了服務器的內存和使用的CPU的歷史。但我無法在服務器上安裝任何軟件。我需要創建一個腳本來生成日誌命令TOP
那麼我想這個腳本
#!/bin/bash
while true; do
date >> system.log
top -n1 | grep 'Cpu\|Mem\|java\|eservices' >> system.log
echo '' >> system.log
sleep 2
done
但是當我嘗試執行尾-500f SYSTEM.LOG日誌停止
我已經生成了服務器的內存和使用的CPU的歷史。但我無法在服務器上安裝任何軟件。我需要創建一個腳本來生成日誌命令TOP
那麼我想這個腳本
#!/bin/bash
while true; do
date >> system.log
top -n1 | grep 'Cpu\|Mem\|java\|eservices' >> system.log
echo '' >> system.log
sleep 2
done
但是當我嘗試執行尾-500f SYSTEM.LOG日誌停止
你或許應該使用-b
批處理模式下的參數。從man top
:
以'Batch'模式開始頂部,這對從頂部向其他程序或文件發送輸出可能有用。在這種模式下,頂層將不會接受輸入並運行,直到迭代限制您使用'-n'命令行選項設置或直到被終止。
您可能想使用便攜式格式tail -n 500 -f
。
無論如何,保存top
輸出到文件,然後運行tail -f
就可以模擬top
的工作方式。你想達到什麼目標,top
已經做不到了?
我想在服務器和特定的過程中生成使用過的內存的歷史記錄。必須有更好的方法,但我不能在服務器上安裝任何東西。 –
謝謝你的回答 –
該腳本將永遠,直到你停止它運行。你如何做測試?你確定腳本仍在運行嗎? – fedorqui
目前還不清楚「腳本完成」是什麼意思。你實際運行什麼,你看到了什麼,以及你期望看到什麼? – l0b0
我想在後臺運行腳本。在我將生成一個報告與數據 ./script.sh& –