歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux自啟動和定時啟動程序(二)

Linux自啟動和定時啟動程序(二)

日期:2017/2/25 10:38:43   编辑:Linux教程

  2. 用戶自己的cron

  用戶也可以計劃用戶自己的cron任務,比如他想要在半夜整理他的文件,然後發送郵件給自己,只要這個用戶他沒有在/etc/cron.deny表中,

  就可以使用crontab -e命令來啟動自己的cron文件。

  3. 對cron的訪問控制

  默認情況下,所有用戶都能訪問cron工具,要對cron進行訪問控制,則可以生成/etc/cron.allow與/etc/cron.deny文件。

  (1)這兩個文件都不存在時,每個用戶都可以訪問cron工具]

  (2)存在/etc/cron.allow文件時,則只有cron.allow文件中允許的用戶才能訪問cron工具,如果也有/etc/cron.deny文件,則忽略cron.deny文

  件

  二、 使用at命令定期運行程序

  1. 使用cron運行任務

  cron任務的缺點是計劃要經常運行,假如我們只是想要讓特定任務運行一次呢?那麼,這時候就要用到at監控程序了。

  設置at命令很簡單,指示定運行的時間,那麼就會在哪個時候運行。at類似打印進程,會把任務放到/var/spool/at目錄中,到指定時間運行它

  。at命令相當於另一個shell,運行at time命令時,它發送一個個命令,可以輸入任意命令或者程序。at now + time命令可以在指示任務。

  假設處理一個大型數據庫,要在別人不用系統時去處理數據,比如凌晨2點5分。那麼我們就應該先建立/home/mj/airplane腳本管理數據庫,計

  劃處理/home/mj/air-safe文件中的結果。正常方式是這樣啟動下列命令:

  # at 2:05 tomorrow

  at> /home/mj/airplane > /home/mj/air-safe

  at> Ctrl+D

  AT Time中的時間表示方法

  -----------------------------------------------------------------------

  時間 例子 說明

  -----------------------------------------------------------------------

  Minute at now + 5 minutes 任務在5分鐘後運行

  Hour at now + 1 hour 任務在1小時後運行

  Days at now + 3 days 任務在3天後運行

  Weeks at now + 2 weeks 任務在兩周後運行

  Fixed at midnight 任務在午夜運行

  Fixed at 10:30pm 任務在晚上10點30分開始

  Fixed at 1:00 12/20/04 任務在2004年12月20日凌晨1點開始

  -----------------------------------------------------------------------

  2. 查看目前在等待執行的任務

  輸入任務後,可以使用atq命令可以看到目前等待執行的任務,輸出提供了任務號、用戶和任務執行時間等信息。

  # atq

  8 2004-12-15 02:05 a mj

  裡面的a表示是at任務還是batch命令生成的任務。

  3. 刪除at任務

  刪除一個at任務比較簡單,使用atrm命令就可以輕松解決。

  比如我知道了任務的隊列號,那麼就可以刪除它:

  # atrm 8

  就刪除了隊列號為8的at任務了。

  三、batch命令處理批處理任務

  這個具體就不說了,該命令類似 at -q b,詳細請參考下面的連接:

  linuxts.com/doc/rhl-cg-zh_CN-9/s1-autotasks-at-batch.html">http://www.linuxts.com/doc/rhl-cg-zh_CN-9/s1-autotasks-at-batch.html

  [root@pps ~]# mail -s "hi, snail, i'm root" snail < 郵件內容

  -s 主題

  -c 抄送

  -b 暗送

  mail的使用:

  Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...

  [-- sendmail-options ...]

  mail [-iInNv] -f [name]

  mail [-iInNv] [-u user]

  詳細的mail使用說明可以 # man mail

  經常用root帳號登錄RHEL5,在終端經常出現:

  You have new mail in /var/spool/mail/root

  這肯定是系統給root超級管理員發的一些通知郵件,我常用mail命令來查看。

  【注意】下面mail命令的help幫助是我個人隨便翻譯的,准確的請看英文說明

  [root@pps mail]# mail

  Mail version 8.1 6/6/93. Type ? for help.

  "/var/spool/mail/root": 24 messages 24 unread

  >U 1 [email protected] Mon Feb 16 17:27 117/3862 "Logwatch for rhel5-pp"

  U 2 [email protected] Mon Feb 16 17:27 107/3658 "Logwatch for rhel5-pp"

  ...

  U 20 [email protected] Wed Mar 11 10:10 139/4567 "Logwatch for pps.hoho"

  U 21 [email protected] Wed Mar 11 13:15 20/664 "Re: Warning: could no"

  U 22 [email protected] Wed Mar 11 13:15 71/2294 "Returned mail: see tr"

Copyright © Linux教程網 All Rights Reserved