顯示具有 重開機 標籤的文章。 顯示所有文章
顯示具有 重開機 標籤的文章。 顯示所有文章

2007年6月12日 星期二

DM自動重新開程序原始碼

#define MAXLINE 128

int main(int argc, char **argv)
{
int iHour,iMin,iSec;
FILE *fp;
char myHour[5];
char myMin[5];
char mySec[5];
memset(myHour,0,5);
memset(myMin,0,5);
memset(mySec,0,5);

if((fp=fopen("/var/etc/autoreboot.txt","r"))==NULL)
{
perror("No reboot setting time...\n");
exit(0);
}
fgets(myHour,MAXLINE,fp);
fgets(myMin ,MAXLINE,fp);
fgets(mySec ,MAXLINE,fp);
iHour = atoi(myHour);
iMin = atoi(myMin);
iSec = atoi(mySec);
printf("Set reboot time to %02d:%02d:%02d\n",iHour,iMin,iSec);

while(1)
{
sleep(1);
time_t t = time(0);
struct tm* lt = localtime(&t);
//printf("now is %02d:%02d:%02d\n",lt->tm_hour,lt->tm_min,lt->tm_sec);
if( (lt->tm_hour)==iHour)
{
if( (lt->tm_min)==iMin)
{
if( (lt->tm_sec)==iSec (lt->tm_sec)==(iSec+1))
{
//printf("Reboot now...\n");
system("/sbin/reboot");
sleep(10);
}
}
}
}

return 0;
}

如何讓我的Dreambox一開機就執行特定程序

有時我們會希望Dm一開機執行某些程式,像是變更網路卡的MAC ADDRESS等!所以我們必需要找到DM一開機會執行的檔案,在裡面加入自己的程序!如此就可使我們的程序在一開機執行:
這次我們找到的檔案是 /var/script/httpd_script.sh 這個檔,這個檔案負責在一開機時啟動網卡,我們可以在檔案結尾加入我們要的程序,以小弟自己寫的autoreboot為例,我想讓DM每次開機就在背景執行,可如此寫:
在 esac行之後, exit 0 行之前寫入

esac
/var/bin/autoreboot &

exit 0

如此DM每次重開機時都會執行autoreboot此程序

2007年6月11日 星期一

Dreambox 自動定時開機程序

Dreambox裡無法讓使用者下Cronb指令,也就是排程無效!
因為剛好有朋友要自動定時重啟,所以就寫了這一支小程序
在 /var/etc裡建立一個檔案名稱為autoreboot.txt
內容為三行,第一行代表小時,第二行代表分,第三行是秒
12
30
10
以上代表中午12時30分10秒時會重啟你的Dreambox
再將小弟寫的執行檔放入Dreambox裡,通常我是放在/var/bin裡
執行小弟寫的autoreboot 即可
檔案下載位置為 http://www.dreambox.tw/autoreboot.zip