亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2744 | 回復(fù): 0
打印 上一主題 下一主題

freebsd定時(shí)執(zhí)行(筆記) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-08-31 10:08 |只看該作者 |倒序?yàn)g覽
FreeBSD定時(shí)執(zhí)行程序(cron)
Unix系統(tǒng)提供了cron和at命令,使系統(tǒng)和用戶可以定時(shí)運(yùn)行一定的程序.FreeBSD中定時(shí)執(zhí)行任務(wù)分兩種情況:一種是一次性執(zhí)行的任務(wù),另一種是周期性定時(shí)執(zhí)行的任務(wù)。前面一種將用到指令at,
而后一種會用到指令crontab。
使用cron用于周期性的執(zhí)行一個(gè)命令,必須編輯/etc/crontab 文件為:
# /etc/crontab - root's crontab for FreeBSD
#
# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
# From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute  hour  mday  month  wday  who  command
#
*/5   *    *    *    *    root  /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0  *  *  *  *  root  /usr/sbin/newsyslog
#
# do daily/weekly/monthly maintenance
0    2    *    *    *    root  /etc/daily 2>&1 | sendmail root
30   3    *    *    6    root  /etc/weekly 2>&1 | sendmail root
30   5    1    *    *    root  /etc/monthly 2>&1 | sendmail root
#
# time zone change adjustment for wall cmos clock,
# does nothing, if you have UTC cmos clock.
# See adjkerntz(8) for details.
1,31  0-4  *  *  *  root  /sbin/adjkerntz  -a
第一列為分鐘,規(guī)定每小時(shí)的第幾分執(zhí)行相應(yīng)的程序;
第二列為每天第幾小時(shí)執(zhí)行程序;
第三列為每月的第幾天;
第四列為第幾周;
第五列為每周的第幾天;
第六列為執(zhí)行該文件的用戶身份;
第七列為要執(zhí)行的命令。

使用 “crontab -e” 命令,使用編輯器按照相應(yīng)的格式編輯自己的crontab文件,或者使用 “crontab -l ” 列出現(xiàn)有crontab文件的內(nèi)容.

 與cron不同,at命令用于在一定的時(shí)間后或在一定的時(shí)刻執(zhí)行設(shè)置好的命令。at命令使用一個(gè)時(shí)間參數(shù)表示何時(shí)執(zhí)行命令,然后就從標(biāo)準(zhǔn)輸入中讀入要執(zhí)行的命令,此時(shí)就如同在shell下操作一樣輸入要執(zhí)行的命令,最后使用^D 退出輸入命令的模式。

「at」設(shè)定只執(zhí)行一次的程序
「at」的設(shè)定可以分為三個(gè)指令:「at」用來建立工作、「atq」用來列出目前待執(zhí)行的工作有哪些、「atrm」用來刪除 atq 中所列出的工作。當(dāng)您執(zhí)行了 at 后,它會要求您在命令列中以 shell
scripts 的寫法輸入想要執(zhí)行的指令,而您也可以先將所要執(zhí)行的指令寫再一個(gè)檔案中,再讓 at 去執(zhí)行。
在使用 at 指令時(shí),必須先輸入您要在什么時(shí)候執(zhí)行工作,而時(shí)間的格式可以是下列任何一種:
at 10pm                   設(shè)定晚上十點(diǎn)執(zhí)行。時(shí)間的格式可以是 HHMM 或 HH:MM。
at 8:30am Oct 10          設(shè)定十月十日早上八點(diǎn)半執(zhí)行。
at midnight Jan 1 2005    設(shè)定 2005 年一月一日的第一秒鐘執(zhí)行。
at teatime                設(shè)定在下次的下午 4 點(diǎn)執(zhí)行。teatime 表示是 4:00pm,而 midnight 表示半夜十二點(diǎn),noon 表示中午十二點(diǎn)。
at -t MMDDhhmm            表示在 MM 月 DD 日 hh 時(shí) mm 分時(shí)執(zhí)行,您還可以在 MM 前加上年,而年的格式二位或是四位都可以。
$ at 1:00am +2days
wget
ftp://ftp.cdrom.com/pub/FreeBSD/packages/All/netscape.tgz
^D
  上面命令將在兩天后的凌晨1:00時(shí)啟動進(jìn)程下載文件,當(dāng)然at命令并不是十分精確,其執(zhí)行時(shí)間只是表示大概時(shí)間,可能與標(biāo)準(zhǔn)時(shí)間存在一兩分鐘的差異。at也支持各種復(fù)雜的時(shí)間表示方法,
可以使用hhmm,hh:mm,或者加上am或pm結(jié)尾的12小時(shí)制方式。還可以使用年月日,規(guī)定程序運(yùn)行的日期:
$ at 1:00am Mar 5
echo Hello | mail root
^D
Job 5 will be executed using /bin/sh
$ atq
Date          Owner  Queue  Job#
01時(shí)00分00秒 00/03/05  root  c    5
$ atrm 5
  用戶的at程序執(zhí)行結(jié)果也被系統(tǒng)郵寄給該用戶,用戶可以使用mail來查看程序的輸出結(jié)果或執(zhí)行錯(cuò)誤。當(dāng)用戶啟動at命令之后,可以使用atq命令來查看自己還沒有執(zhí)行的at命令,如果atq是由
root執(zhí)行,則將列出系統(tǒng)中所有沒有執(zhí)行的at命令。然后可以使用atrm命令根據(jù)atq輸出Job號來刪除at作業(yè)。
  系統(tǒng)使用/var/at/at.allow和/var/at/at.deny文件來配置可以使用at命令的用戶,和不可以使用at命令的用戶。其中at.allow的優(yōu)先權(quán)更高,如果存在at.allow,就只允許這個(gè)文件中列出的
用戶使用at,而不考慮任何不在這個(gè)文件中列出的用戶。因此可以使用一個(gè)空at.allow文件禁止所有用戶使用at。當(dāng)不存在at.allow文件的時(shí)候,那么凡不在at.deny文件中列出的用戶都可以使用
at。


實(shí)例:extmail郵件服務(wù)器利用/tmp目錄放置用戶登入系統(tǒng)產(chǎn)生的臨時(shí)文件,用戶多了后,這些文件產(chǎn)生巨多個(gè),最后導(dǎo)致不能在生產(chǎn)了,我原先使用的版本沒有自動清除功能,我只好手動刪除。我則利用一個(gè)簡單的shell程序zxdel.sh,我暫且放在/tmp目錄下,將屬性改為可執(zhí)行。

編輯/etc/crontab文件,增加了zxdel.sh的路徑,在最后一行增加了定時(shí)執(zhí)行(每天1:30執(zhí)行):

/etc/crontab文件如下:
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/tmp
HOME=/var/log
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1       3       *       *       *       root    periodic daily
15      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31    0-5     *       *       *       root    adjkerntz -a
30      1       *       *       *       root    zxdel.sh

zxdel.sh文件如下:
#!/bin/sh
rm -rf /tmp/sid_0*;
rm -rf /tmp/sid_1*;
rm -rf /tmp/sid_2*;
rm -rf /tmp/sid_3*;
rm -rf /tmp/sid_4*;
rm -rf /tmp/sid_5*;
rm -rf /tmp/sid_6*;
rm -rf /tmp/sid_7*;
rm -rf /tmp/sid_8*;
rm -rf /tmp/sid_9*;
rm -rf /tmp/sid_a*;
rm -rf /tmp/sid_b*;
rm -rf /tmp/sid_c*;
rm -rf /tmp/sid_d*;
rm -rf /tmp/sid_e*;
rm -rf /tmp/sid_f*;
rm -rf /tmp/sid_g*;
rm -rf /tmp/sid_h*;
rm -rf /tmp/sid_i*;
rm -rf /tmp/sid_j*;
rm -rf /tmp/sid_k*;
rm -rf /tmp/sid_l*;
rm -rf /tmp/sid_m*;
rm -rf /tmp/sid_n*;
rm -rf /tmp/sid_o*;
rm -rf /tmp/sid_p*;
rm -rf /tmp/sid_q*;
rm -rf /tmp/sid_r*;
rm -rf /tmp/sid_s*;
rm -rf /tmp/sid_t*;
rm -rf /tmp/sid_u*;
rm -rf /tmp/sid_v*;
rm -rf /tmp/sid_w*;
rm -rf /tmp/sid_x*;
rm -rf /tmp/sid_y*;
rm -rf /tmp/sid_z*;

通過監(jiān)測,執(zhí)行情況正常。


本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u2/78845/showart_2041818.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP