天天看點

【轉】UBUNTU添加開機自動啟動程式方法

【轉】UBUNTU添加開機自動啟動程式方法

轉自:http://apps.hi.baidu.com/share/detail/5778261

UBUNTU添加開機自動啟動程式方法

1. 開機啟動時自動運作程式 Linux加載後, 它将初始化硬體和裝置驅動, 然後運作第一個程序init。init根據配置 檔案繼續引導過程,啟動其它程序。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本檔案,可以使init自動啟動其它程式。例如:編輯 /etc/rc.d/rc.local 檔案(該檔案通常是系統最後啟動的腳本), 在檔案最末加上一行“xinit”或“startx”,可以在開機啟動後直接進入X-Window。

2. 登入時自動運作程式 使用者登入時,bash先自動執行系統管理者建立的全局登入script : /ect/profile 然後bash在使用者起始目錄下按順序查找三個特殊檔案中的一個: /.bash_profile、 /.bash_login、 /.profile, 但隻執行最先找到的一個。是以,隻需根據實際需要在上述檔案中加入指令就可以實 現使用者登入時自動運作某些程式(類似于DOS下的Autoexec.bat)。

3. 登出時自動運作程式 登出時,bash自動執行個人的登出腳本 /.bash_logout。 例如,在/.bash_logout中加入指令“tar -cvzf c.source.tgz *.c”,則在每次退出 登入時自動執行 “tar” 指令備份 *.c 檔案。

4. 定期自動運作程式 Linux有一個稱為crond的守護程式,主要功能是周期性地檢查 /var/spool/cron目錄 下的一組指令檔案的内容,并在設定的時間執行這些檔案中的指令。使用者可以通過 crontab 指令來建立、修改、删除這些指令檔案。 例如,建立檔案crondFile,内容為“00 9 23 Jan * HappyBirthday”,運作“crontab cronFile”指令後,每當元月23日上午9:00系統自動執行“HappyBirthday”的程式(“* ”表示不管當天是星期幾)。

5. 定時自動運作程式一次 定時執行指令at 與crond 類似(但它隻執行一次):指令在給定的時間執行,但不自 動重複。at指令的一般格式為:at [ -f file ] time ,在指定的時間執行file檔案 中所給出的所有指令。也可直接從鍵盤輸入指令: $ at 12:00 at>mailto Roger -s ″Have a lunch″ < plan.txt at>Ctr-D Job 1 at 2000-11-09 12:00 2000-11-09 12:00時候自動發一标題為“Have a lunch”,内容為plan.txt檔案内容 的郵件給Roger. 下面着重介紹一下CRON。 crontab指令用于定時執行指定的指令,功能類似Windows下的“任務計劃”,通常用來做一些重複性的工作。 Linux系統的使用者隻需将要執行的指令序列加到crontab檔案中,作業系統即會按使用者配置的時間執行這些指令序列。 向crontab檔案裡添加指令之前,需要檢查下crontab服務是否已啟動和是否開機自動啟動: 檢視crontab服務狀态:service crond status 手動啟動crontab服務:service crond start 檢視crontab服務是否已設定為開機啟動 ,執行指令:ntsysv 打開服務配置,檢視crond服務前的[]是否已選中(打*号為選中),若未選中則選中該服務。 使用指令:crontab -l 檢視目前使用者已配置的任務計劃 編輯crontab檔案指令:crontab -e 也可以不使用“crontab -e”指令建立crontab配置檔案,其他任何文本編輯器編寫指令序列,比如檔案名為“abc.cron”,然後使用指令:“crontab abc.cron”将指令序列添加到crontab中。 默 認情況下,系統所有使用者都可以使用crond服務。如需對crond服務的使用加限制,可以使用配置檔案/etc/cron.allow和 /etc/cron.deny,望文生義,cron.allow是允許使用crond服務的使用者清單,cron.deny裡的使用者則相反 crontab指令的文法格式如下: 格式一:crontab [-u user] file 此指令用于添加一個新的crontab 檔案 -u 如果使用該選項,指定使用者的 crontab 檔案将被修改,反之則修改執行 crontab 指令使用者的 crontab 檔案。 格式二:crontab [-u user] [ -e | -l | -r ] -l 在标準輸出上顯示目前的crontab。 -r 删除目前的crontab檔案。 -e 使用系統編輯器編輯目前的crontab檔案。當編輯完成後,檔案将自動安裝。這種方式很友善,修改後即時生效。 廢話了半天,這裡才是重點。crontab 檔案中指令格式如下: minute hour day-of-month month-of-year day-of-week commands 即:“分 時 日 月 周 指令 ”,共計6段,前5段都是時間,最後一段才是你要定期執行的指令。每段之間使用空格或者制表符分隔。 來看一下前5段即日期和時間的取值範圍 : 1,分鐘[00-59] 2,小時[00-23] 3,日[01-31] 4,月份[01-12] 5,周[0-6] ;注意,這裡的0表示周日 OK,來個簡單點的例子,每天早上6點半起床: 30 06 * * * echo "Get Up Now !" >> /tmp/test.txt 将上面這條指令另到crontab檔案,系統每天上午6點半會向/tmp/test.txt檔案裡添加一行“Get Up Now !”。 上面這條指令裡使用了特殊符号“*”,與SQL查詢語句“SELECT * FROM TAB”裡的“*”一樣是“任何”的意思,即代表目前段取值範圍内的所有數字,如第3段上的“*”代表[01-31]日,第4段上的“*”代表 [01-12]月。 特殊符号除了“*”号還有“/”、“-”、“,”: / 代表“每”的意思,如“/5”表示每5個機關; - 用于表示一個範圍,如“[1-10]”表示從1到10; , 用于表示若幹離散的數字,如“5,15,25” 比如指令:[0-59]/5 23 * * * /sbin/shutdown -h now 表示每晚11點開始,每5分鐘嘗試一次關機,幫你養成早睡早起的好習慣,呵呵。機器關掉後,如果嘗試開機,則到5的倍數時會再次關掉,酷似Windows 2000中了疾風病毒。 00,10,20,30,40,50 * * * * echo "10 minutes has passed !" >> /tmp/test.txt 每小時的00分、10分、20分、30分、40分、50分向檔案“/tmp/test.txt”寫一行又十分鐘過去喽。 根據上面的指令格式和時間描述方式,你就可以讓系統在預訂時間做些稀奇古怪的事了。