定時(shí)任務(wù)

2018-10-31 15:46 更新

1 概述

在Cobub Razor中,必須在服務(wù)器上設(shè)置一個(gè)定時(shí)任務(wù),這樣數(shù)據(jù)可以自動(dòng)從工廠數(shù)據(jù)庫(kù)轉(zhuǎn)到數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行處理。所有的移動(dòng)應(yīng)用統(tǒng)計(jì)分析報(bào)表數(shù)據(jù)來(lái)自于數(shù)據(jù)倉(cāng)庫(kù)。為了自動(dòng)觸發(fā)Cobub Razor任務(wù),用戶可以設(shè)置一個(gè)腳本執(zhí)行任務(wù)計(jì)劃。

下面的說(shuō)明描述了如何在 Linux/Unix系統(tǒng),Windows系統(tǒng)下做任務(wù)計(jì)劃。這里提供了五個(gè)腳本來(lái)做報(bào)告的定時(shí)任務(wù):

  1. 每小時(shí)運(yùn)行一次 – 做工廠數(shù)據(jù)庫(kù)到數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)抽取與處理,生成前一小時(shí)的統(tǒng)計(jì)分析報(bào)表。
  2. 每天運(yùn)行一次 – 生成每天統(tǒng)計(jì)分析報(bào)表,必須安排在第二天。
  3. 每周運(yùn)行一次 – 生成每周統(tǒng)計(jì)分析報(bào)表,必須安排在周日。
  4. 每月運(yùn)行一次 – 生成每月統(tǒng)計(jì)分析報(bào)表,必須安排在每月的第一天。
  5. 遲來(lái)數(shù)據(jù)的運(yùn)行 – 運(yùn)行從客戶端遲來(lái)的數(shù)據(jù)統(tǒng)計(jì)(由于時(shí)區(qū)或客戶端發(fā)生策略的設(shè)置原因而導(dǎo)致的某些數(shù)據(jù)沒(méi)有實(shí)時(shí)地上傳到服務(wù)器)

定時(shí)任務(wù)重要提示:

  1. 每小時(shí)數(shù)據(jù)存檔 – 每小時(shí)任務(wù)可以安排在每小時(shí)10分鐘的時(shí)候。
  2. 每天數(shù)據(jù)存檔 – 每天任務(wù)必須一天執(zhí)行一次。
  3. 每周數(shù)據(jù)存檔 – 每周任務(wù)必須安排在周日,可以將每周任務(wù)安排在每周日的00:30。
  4. 每月數(shù)據(jù)存檔 – 每月任務(wù)必須安排在每個(gè)月的第一天,比如02:30。
  5. 遲來(lái)數(shù)據(jù)存檔 – 遲來(lái)數(shù)據(jù)處理必須安排在每一天,比如01:30。

2 Linux/Unix的定時(shí)任務(wù)

在Unix類操作系統(tǒng)中定時(shí)任務(wù)是基于時(shí)間的計(jì)劃。定時(shí)任務(wù) 幫助用戶在某個(gè)特定的時(shí)間或日期定期地計(jì)劃任務(wù)(命令或shell腳本)。

2.1 準(zhǔn)備腳本文件

首先,在 /var/www/cron目錄下創(chuàng)建五個(gè)sh腳本文件,命名為:

razor_hourly_archive.sh

razor_weekly_archive.sh

razor_monthly_archive.sh

razor_laterdata_archive.sh

razor_daily_archive.sh

請(qǐng)確保.sh文件有可執(zhí)行權(quán)限,如沒(méi)有,可執(zhí)行下面的命令賦于文件可執(zhí)行權(quán)限:

sudo chown +x *.sh

下面是樣例腳本文件。

例如,/user/share/nginx/razor是Cobub Razor在服務(wù)器上的目錄。

文件Razor_hourly_archive.sh:

#!/bin/bash

php /usr/share/nginx/razor/index.php archive archiveHourly

文件razor_weekly_archive.sh:

#!/bin/bash

php /usr/share/nginx/razor/index.php archive archiveWeekly 文件razor_monthly_archive.sh:

#!/bin/bash

php /usr/share/nginx/razor/index.php archive archiveMonthly

文件razor_laterdata_archive.sh:

#!/bin/bash

php /usr/share/nginx/razor/index.php archive archiveLaterData

文件razor_daily_archive.sh:

#!/bin/bash

php /usr/share/nginx/razor/index.php archive archiveUsingLog

2.2 配置crontab

Crontab 需要安裝php-cli 或php-cgi,用戶可以使用SSH 或Puty連接到服務(wù)器進(jìn)行設(shè)置。

crontab -e 然后,增加以下代碼行:

# 表示每個(gè)小時(shí)的第五分鐘執(zhí)行一次腳本
5 * * * * /var/www/cron/razor_hourly_archive.sh

# 表示每天的1:00執(zhí)行一次腳本
0 1 * * * /var/www/cron/razor_daily_archive.sh

# 表示每個(gè)星期天0:30執(zhí)行一次腳本
30 0 * * 0 /var/www/cron/razor_weekly_archive.sh

# 表示每個(gè)月第一天0:30執(zhí)行一次腳本
30 0 1 * * /var/www/cron/razor_monthly_archive.sh

# 表示每天1:30執(zhí)行一次腳本
30 1 * * * /var/www/cron/razor_laterdata_archive.sh
重啟定時(shí)任務(wù):

/etc/init.d/cron restart

3 Windows的定時(shí)任務(wù)

3.1 創(chuàng)建定時(shí)任務(wù)

要打開(kāi)Windows (XP, 7, 2003/2008 服務(wù)器)上的任務(wù)計(jì)劃,單擊所有程序,附件,系統(tǒng)工具,然后點(diǎn)擊任務(wù)計(jì)劃程序。

點(diǎn)擊‘操作’,‘創(chuàng)建基本任務(wù)’并為任務(wù)命名,例如,”Razor Hourly Archive”。計(jì)劃任務(wù)如下所示。 

創(chuàng)建基本任務(wù)樣例:

 情況一:如果php.exe還沒(méi)添加到環(huán)境變量下,請(qǐng)?zhí)顚懫渌诘脑敿?xì)路徑。

添加定時(shí)任務(wù)流程步驟如下圖所示:

圖1

圖2

圖3

圖4

圖5

圖6

圖7

圖8

情況二:如果php.exe已經(jīng)添加到系統(tǒng)環(huán)境變量的PATH下,則第一個(gè)參數(shù)只需寫成php;

添加定時(shí)任務(wù)流程步驟如下圖所示:

圖1


圖2


圖3

圖4

圖5


圖6



3.2 定時(shí)任務(wù)配置

如果php.exe還沒(méi)添加到環(huán)境變量下,請(qǐng)?zhí)顚懫渌诘脑敿?xì)路徑,如 D:\xampp\php\php.exe。如果php.exe已經(jīng)添加到系統(tǒng)環(huán)境變量的PATH下,則第一個(gè)參數(shù)只需寫成php。

1. 每小時(shí)數(shù)據(jù)存檔

php D:\xampp\htdocs\razor\web\index.php archive archiveHourly

“D:\xampp\htdocs\razor\web\index.php”是Cobub Razor在服務(wù)器上的目錄,archive和archiveHourly是定時(shí)任務(wù)執(zhí)行時(shí)需要的參數(shù)。

2. 每周數(shù)據(jù)存檔

php D:\xampp\htdocs\razor\web\index.php archive archiveWeekly

3. 每月數(shù)據(jù)存檔

php D:\xampp\htdocs\razor\web\index.php archive archiveMonthly

4. 遲來(lái)數(shù)據(jù)存檔

php D:\xampp\htdocs\razor\web\index.php archive archiveLaterData

5. 每天數(shù)據(jù)存檔

php D:\xampp\htdocs\razor\web\index.php archive archiveUsingLog

4 Web 定時(shí)任務(wù)

如果可 以在服務(wù)器上做定時(shí)任務(wù),我們極力推薦用戶運(yùn)行定時(shí)任務(wù)或任務(wù)計(jì)劃。但是,在某些共享主機(jī)或特殊配置的服務(wù)器上,不允許運(yùn)行定時(shí)任務(wù) 或任務(wù)計(jì)劃。

某些web主機(jī)允許設(shè)置web 定時(shí)任務(wù),主機(jī)會(huì)在預(yù)定時(shí)間自動(dòng)訪問(wèn)這個(gè)簡(jiǎn)單的URL。如果想使用web 定時(shí)任務(wù),可以在主機(jī)界面輸入一下URL 。

http://server_url/index.php?/archive/archiveHourly

http://server_url/index.php?/archive/archiveWeekly

http://server_url/index.php?/archive/archiveMonthly

http://server_url/index.php?/archive/archiveLaterData

http://server_url/index.php?/archive/archiveUsingLog

5 下一步 – 配置

如果想使用Cobub Razor更多功能,請(qǐng)參見(jiàn)配置

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)