?? s1-autotasks-at-batch.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>at 和 batch</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Red Hat Linux 9"HREF="index.html"><LINKREL="UP"TITLE="自動化的任務"HREF="ch-autotasks.html"><LINKREL="PREVIOUS"TITLE="anacron"HREF="s1-autotasks-anacron.html"><LINKREL="NEXT"TITLE="其它資料"HREF="s1-autotasks-additional-resources.html"><LINKREL="STYLESHEET"TYPE="text/css"HREF="rhdocs-man.css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=gb2312"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Red Hat Linux 9: Red Hat Linux 定制指南</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="s1-autotasks-anacron.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">28. 自動化的任務</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="s1-autotasks-additional-resources.html"ACCESSKEY="N">前進</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="S1-AUTOTASKS-AT-BATCH"></A>28.3. at 和 batch</H1><P>cron 和 anacron 被用來調度重復的任務,<TTCLASS="COMMAND">at</TT>命令被用來在指定時間內調度一次性的任務。<TTCLASS="COMMAND">batch</TT>命令被用來在系統平均載量降到 0.8 以下時執行一次性的任務。</P><P>要使用 <TTCLASS="COMMAND">at</TT> 或 <TTCLASS="COMMAND">batch</TT>命令,你必須安裝了 <TTCLASS="FILENAME">at</TT> RPM 軟件包,并且 <TTCLASS="COMMAND">atd</TT>服務必須在運行。要判定該軟件包是否被安裝了,使用 <TTCLASS="COMMAND">rpm -q at</TT>命令。要判定該服務是否在運行,使用 <TTCLASS="COMMAND">/sbin/service atd status</TT> 命令。</P><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-AUTOTASKS-AT-CONFIGURING"></A>28.3.1. 配置 at 作業</H2><P>要在某一指定時間內調度一項一次性作業,鍵入<TTCLASS="COMMAND">at <TTCLASS="REPLACEABLE"><I>time</I></TT></TT> 命令。這里的<TTCLASS="COMMAND"><TTCLASS="REPLACEABLE"><I>time</I></TT></TT> 是執行命令的時間。</P><P><TTCLASS="REPLACEABLE"><I>time</I></TT> 參數可以是下面格式中任何一種:</P><P></P><UL><LI><P>HH:MM 格式 — 譬如,04:00 代表 4:00AM。如果時間已過,它就會在第二天的這一時間執行。</P></LI><LI><P>midnight — 代表 12:00AM。</P></LI><LI><P>noon — 代表 12:00PM。</P></LI><LI><P>teatime — 代表 4:00PM。</P></LI><LI><P>英文月名 日期 年份 格式— 譬如,January 15 2002 代表 2002 年 1 月 15 日。年份可有可無。</P></LI><LI><P>MMDDYY、MM/DD/YY、或 MM.DD.YY 格式 — 譬如,011502 代表 2002 年 1 月 15 日。</P></LI><LI><P>now + 時間 — 時間以 minutes、hours、days、或 weeks 為單位。譬如,now + 5 days代表命令應該在 5 天之后的此時此刻執行。</P></LI></UL><P> 時間必須要被先指定,接著是可有可無的日期。關于時間格式的詳情,請閱讀 <TTCLASS="FILENAME">/usr/share/doc/at-<TTCLASS="REPLACEABLE"><I><version> </I></TT>/timespec</TT> 文本文件。 </P><P>鍵入了 <TTCLASS="COMMAND">at</TT> 命令和它的時間參數后,<TTCLASS="PROMPT">at></TT>提示就會出現。鍵入要執行的命令,按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 鍵,然后鍵入 Ctrl-D。你可以指定多條命令,方法是鍵入每一條命令后按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 鍵。鍵入所有命令后,按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN>鍵轉入一個空行,然后再鍵入 Ctrl-D?;蛘?,你也可以在提示后輸入 shell 腳本,在腳本的每一行后按<SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 鍵,然后在空行處鍵入 Ctrl-D 來退出。如果輸入的是腳本,所用的 shell 就會是用戶的<TTCLASS="ENVAR">SHELL</TT> 環境變量中設置的值,用戶的登錄 shell,或是<TTCLASS="COMMAND">/bin/sh</TT>(使用最先發現的)。</P><P>如果這組命令或腳本試圖在標準輸出中顯示信息,該輸出會用電子郵件方式被郵寄給用戶。</P><P>使用命令 <TTCLASS="COMMAND">atq</TT> 來查看等待運行的作業。詳情請參閱<AHREF="s1-autotasks-at-batch.html#S2-AUTOTASKS-AT-BATCH-VIEWING">第 28.3.3 節</A>。</P><P><TTCLASS="COMMAND">at</TT> 命令的用法能夠被制約。詳情請參閱 <AHREF="s1-autotasks-at-batch.html#S2-AUTOTASKS-AT-BATCH-CONTROLLING-ACCESS">第 28.3.5 節</A>。</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-AUTOTASKS-BATCH-CONFIGURING"></A>28.3.2. 配置 batch 作業</H2><P>要在系統平均載量降到 0.8 以下時執行某項一次性的任務,使用<TTCLASS="COMMAND">batch</TT> 命令。</P><P>鍵入 <TTCLASS="COMMAND">batch</TT> 命令后,<TTCLASS="PROMPT">at></TT>提示就會出現。鍵入要執行的命令,按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 鍵,然后鍵入Ctrl-D。你可以指定多條命令,方法是鍵入每一條命令后按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN>鍵。鍵入所有命令后,按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 鍵轉入一個空行,然后再鍵入 Ctrl-D?;蛘?,你也可以在提示后輸入 shell 腳本,在腳本的每一行后按 <SPANCLASS="KEYCAP"><KEYCAP>[Enter]</KEYCAP></SPAN> 鍵,然后 在空行處鍵入Ctrl-D 來退出。如果輸入的是腳本,所用的 shell 就會是用戶的 <TTCLASS="ENVAR">SHELL</TT>環境變量中設置的值,用戶的登錄 shell,或是 <TTCLASS="COMMAND">/bin/sh</TT>(使用最先發現的)。系統平均載量一降到0.8 以下,這組命令或腳本就會被執行。</P><P>如果這組命令或腳本試圖在標準輸出中顯示信息,該輸出會用電子郵件方式被郵寄給用戶。</P><P>使用命令 <TTCLASS="COMMAND">atq</TT> 來查看等待運行的作業。詳情請參閱<AHREF="s1-autotasks-at-batch.html#S2-AUTOTASKS-AT-BATCH-VIEWING">第 28.3.3 節</A>。</P><P><TTCLASS="COMMAND">batch</TT> 命令的用法能夠被制約。詳情請參閱<AHREF="s1-autotasks-at-batch.html#S2-AUTOTASKS-AT-BATCH-CONTROLLING-ACCESS">第 28.3.5 節</A>。</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-AUTOTASKS-AT-BATCH-VIEWING"></A>28.3.3. 查看等待運行的作業</H2><P>要查看等待運行的 <TTCLASS="COMMAND">at</TT> 和 <TTCLASS="COMMAND">batch</TT> 作業,使用<TTCLASS="COMMAND">atq</TT> 命令。它顯示一列等待運行的作業,每項作業只占據一行。每一行的格式都是:作業號碼、 日期、小時、作業類別、以及用戶名。用戶只能查看他們自己的作業。如果根用戶執行<TTCLASS="COMMAND">atq</TT> 命令,所有用戶的全部作業都會被顯示。</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-AUTOTASKS-COMMANDLINE-OPTIONS"></A>28.3.4. 其它的命令行選項</H2><P><TTCLASS="COMMAND">at</TT> 和 <TTCLASS="COMMAND">batch</TT> 的其它命令行選項包括:</P><DIVCLASS="TABLE"><ANAME="TB-AT-COMMAND-LINE-OPTIONS"></A><TABLEBORDER="1"BGCOLOR="#DCDCDC"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><THEAD><TR><THWIDTH="29%"ALIGN="LEFT"VALIGN="TOP">選項</TH><THWIDTH="71%"ALIGN="LEFT"VALIGN="TOP">描述</TH></TR></THEAD><TBODY><TR><TDWIDTH="29%"ALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-f</TT></TD><TDWIDTH="71%"ALIGN="LEFT"VALIGN="TOP">從文件中讀取命令或 shell 腳本,而非在提示后指定它們。</TD></TR><TR><TDWIDTH="29%"ALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-m</TT></TD><TDWIDTH="71%"ALIGN="LEFT"VALIGN="TOP">在作業完成后,給用戶發送電子郵件。</TD></TR><TR><TDWIDTH="29%"ALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-v</TT></TD><TDWIDTH="71%"ALIGN="LEFT"VALIGN="TOP">顯示作業將被執行的時間。</TD></TR></TBODY></TABLE><P><B>表 28-1. <TTCLASS="COMMAND">at</TT> 和 <TTCLASS="COMMAND">batch</TT> 的命令行選項</B></P></DIV></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-AUTOTASKS-AT-BATCH-CONTROLLING-ACCESS"></A>28.3.5. 控制對 at 和 batch 的使用</H2><P><TTCLASS="FILENAME">/etc/at.allow</TT> 和 <TTCLASS="FILENAME">/etc/at.deny</TT> 文件可以用來限制對 <TTCLASS="COMMAND">at</TT> 和 <TTCLASS="COMMAND">batch</TT> 命令的使用。這兩個使用控制文件的格式都是每行一個用戶。兩個文件都不允許使用空白字符。如果使用控制文件被修改了,<TTCLASS="COMMAND">at</TT>守護進程(<TTCLASS="COMMAND">atd</TT>) 不必被重啟。每次用戶試圖執行<TTCLASS="COMMAND">at</TT> 或 <TTCLASS="COMMAND">batch</TT> 命令時,使用控制文件都會被讀取。</P><P>不論使用控制文件如何規定,根用戶都總是可以執行 <TTCLASS="COMMAND">at</TT>和 <TTCLASS="COMMAND">batch</TT> 命令。</P><P>如果 <TTCLASS="FILENAME">at.allow</TT> 文件存在,只有其中列出的用戶才能使用 <TTCLASS="COMMAND">at</TT>或 <TTCLASS="COMMAND">batch</TT> 命令,<TTCLASS="FILENAME">at.deny</TT> 文件會被忽略。</P><P>如果 <TTCLASS="FILENAME">at.allow</TT> 文件不存在,所有在 <TTCLASS="FILENAME">at.deny</TT>文件中列出的用戶都被禁止使用<TTCLASS="COMMAND">at</TT> 和 <TTCLASS="COMMAND">batch</TT> 命令。</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-AUTOTASKS-AT-BATCH-SERVICE"></A>28.3.6. 啟動和停止服務</H2><P>要啟動 <TTCLASS="COMMAND">at</TT> 服務,使用<TTCLASS="COMMAND">/sbin/service atd start</TT> 命令。要停止該服務, 使用<TTCLASS="COMMAND">/sbin/service atd stop</TT> 命令。建議你在引導時啟動該服務。關于在引導時自動啟動at 服務的詳情,請參閱<AHREF="ch-services.html">第14章 </A>。</P></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="s1-autotasks-anacron.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">起點</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="s1-autotasks-additional-resources.html"ACCESSKEY="N">前進</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">anacron</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="ch-autotasks.html"ACCESSKEY="U">上級</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">其它資料</TD></TR></TABLE></DIV></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -