wrh7415369 wrote:
謝因為以前自己買書回...(恕刪)
wrh7415369大大, 的確我看你好像也有自己下過功夫, 所以我才會回應你的.
我是不太喜歡完全都還沒有下功夫, 就上來問問題的人.
我不能說GUI介面不好, 畢竟GUI做的好那是很棒的事.
不過以後如果你是系統管理者或是工程師的話.
command line才會是你的好朋友.
畢竟在linux/Unix上面Terminal就可以完成你99.99999%的事情了
連線速度比較快且遠端server即使沒有裝x window你也可以做事.
你就不需要remote整個桌面了.
(當然是有個小技巧可以只把單一視窗傳回你的電腦就好, 那不需要remote整個桌面)
還有rgly說得很對, 你現在需要的是, 好好加強一些基礎觀念和解決問題的能力.
解決問題的能力, 我是覺得多自己寫程式和看別人的程式都可以加強.
都沒效果...暈倒
===========
1. 前置工作
創造一個文字檔,大小超過2M,副檔名 .log ,並將其放於 /var/log下
2. 寫一支shell log_manager.sh
a. 檢查目錄中所有大於 2M的文字檔(用find指令),將其路徑,檔名,大小以及現在時間紀錄於 /var/log/log_manager.log,需用累加的方式
b. 如果此超過2M的文字檔副檔名為.log,則複製此檔為 xxx.log.date,其中date為現在時間,格式為year-month-day-hour-minute,並將此檔案壓縮成 xxx.log.date.tgz後將其搬移到另一掛載的磁碟(假設為/mnt/extradisk),而原來的文字檔內容清空; 整個過成如果有任何錯誤也有把錯誤訊息放在 /var/log/log_manager.log
c. 執行b步驟時,如果發現掛載磁碟已經有之前備份相同大小的同一檔案,則不做備份
3. 放到 crond
將第二步驟寫的 log_manager.sh放入 crond ,每3分鐘執行一次
------------------------------
#!/bin/bash
for filename in $(find /var/log -size +2M) ----------找出2m的檔案
do
ls -l $filename >> /var/log/log_manager.log -----------把找出的訊息LS後丟入log_manager.log
if file $filename | grep ASCII > /dev/null -----------如果他是個文字檔
then
echo "it is a ascii file" ----------則列印出這是文字檔
# x1= find /var/log -name "*.log" -size +2M)
#echo "x1"
#file=`ls -l | grep *.log | awk '{print $9}'`
# DATE=`date +%y-%m-%d-%H-%M-%S`
# touch $filename.$DATE /home/ray/
else
echo "it is not a ascii file"
fi
done
回到老問題
下一步
要如何把搜尋到的檔案擷取檔案名稱.log壓縮
用cp或mv搬到另一目錄後要如何把原檔案清空
並且判斷比較需不需要備份(我有翻到書是用diff作判斷嗎?不過這老師沒教過會不會有更容易的方法)
阿阿阿
10個小時了




























































































