【shell】使用 /dev/null crontab

來源:互聯網
上載者:User

標籤:

1.linux組成kernel、shell、工具程式有sh.bash

一個例子

!#/bin/bash

echo ‘‘

執行之前chmod +x

執行./

2.一個小竅門 cp /dev/null /var/log/apache2/access.log

  利用/dev/null來晴空apache2中的記錄檔

 注釋:把/dev/null看作"黑洞". 它非常等價於一個唯寫檔案. 所有寫入它的內容都會永遠丟失. 而嘗試從它那兒讀取內容則什麼也讀不到. 然而, /dev/null對命令列和指令碼都非常的有用.

禁止標準輸出.

   1 cat $filename >/dev/null   2 # 檔案內容丟失,而不會輸出到標準輸出.

 

禁止標準錯誤 (來自例子 12-3).

   1 rm $badname 2>/dev/null   2 #           這樣錯誤資訊[標準錯誤]就被丟到太平洋去了.

 

禁止標準輸出和標準錯誤的輸出.

   1 cat $filename 2>/dev/null >/dev/null   2 # 如果"$filename"不存在,將不會有任何錯誤資訊提示.   3 # 如果"$filename"存在, 檔案的內容不會列印到標準輸出.   4 # 因此Therefore, 上面的代碼根本不會輸出任何資訊.   5 #   6 #  當只想測試命令的退出碼而不想有任何輸出時非常有用。   7 #   8 #   9 # cat $filename &>/dev/null  10 #     也可以, 由 Baris Cicek 指出.

 

例子 28-1. 隱藏cookie而不再使用

 

   1 if [ -f ~/.netscape/cookies ]  # 如果存在則刪除.   2 then   3   rm -f ~/.netscape/cookies   4 fi   5    6 ln -s /dev/null ~/.netscape/cookies   7 # 現在所有的cookies都會丟入黑洞而不會儲存在磁碟上了.

 

1>/dev/null 2>&1的含義

shell中可能經常能看到:>/dev/null 2>&1

命令的結果可以通過%>的形式來定義輸出

/dev/null 代表空裝置檔案
> 代表重新導向到哪裡,例如:echo "123" >/home/123.txt
1表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標準錯誤
&表示等同於的意思,2>&1,表示2的輸出重新導向等同於1

那麼本文標題的語句:
1>/dev/null首先表示標準輸出重新導向到空裝置檔案,也就是不輸出任何資訊到終端,說白了就是不顯示任何資訊。
2>&1 接著,標準錯誤輸出重新導向等同於標準輸出,因為之前標準輸出已經重新導向到了空裝置檔案,所以標準錯誤輸出也重新導向到空裝置檔案。

 

來源:http://www.yunwei.org/read.php?18

  小竅門 IO重新導向 ls>1.txt將結果進行儲存到檔案

3、利用crontab在自動清理log檔案

只用把上面的sh檔案寫到crontab中

 

 使用許可權 : root使用者和crontab檔案的所有者   

 

crontab格式

文法 :   crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v[UserName]|File ]   說明 :   crontab是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定 user的時程表,這個前提是你必須要有其許可權(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user的話,就是表示設定自己的時程表。   參數 :   -e [UserName]:執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL環境變數來指定使用那個文字編輯器(比如說 setenv VISUAL joe)   -r [UserName]: 刪除目前的時程表  -l [UserName]: 列出目前的時程表

  -v [UserName]:列出使用者cron作業的狀態

例子 crontab -u root-e就可以開啟vi了

然後寫入0 6 * * * /root/clearlog.sh表示每日早上6點就會執行

           0 * * * * /bin/ls 每月每天每小時的第 0 分鐘執行一次 /bin/ls

           */20 6-12 * 12 * /usr/bin/backup

                在 12 月內, 每天的早上 6 點到 12 點中,每隔 20 分鐘執行一次/usr/bin/backup

             200-23/2 * * * echo "haha"

                每月每天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo"haha"

4、部署bashshell的環境

    echo$SHELL 看shell版本 /bin/bash

   我們可以從網上下源碼bash-3.2.48.tar.gz

    解壓./configure也可以通過--prefix=/home/ols32來指定安裝目錄

      編譯 make 測試 make tests

  

 5、登陸ssh如果沒有指定帳號 例 ssh 192.168.1.2 相當於以root登陸

     或者ssh 帳號@ip 例如 ssh [email protected]

【shell】使用 /dev/null crontab

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.