定時任務(wù)

2018-10-31 15:46 更新

1 概述

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

下面的說明描述了如何在 Linux/Unix系統(tǒng),Windows系統(tǒng)下做任務(wù)計劃。這里提供了五個腳本來做報告的定時任務(wù):

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

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

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

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

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

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

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

razor_hourly_archive.sh

razor_weekly_archive.sh

razor_monthly_archive.sh

razor_laterdata_archive.sh

razor_daily_archive.sh

請確保.sh文件有可執(zhí)行權(quán)限,如沒有,可執(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 然后,增加以下代碼行:

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

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

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

# 表示每個月第一天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
重啟定時任務(wù):

/etc/init.d/cron restart

3 Windows的定時任務(wù)

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

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

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

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

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

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

圖1

圖2

圖3

圖4

圖5

圖6

圖7

圖8

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

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

圖1


圖2


圖3

圖4

圖5


圖6



3.2 定時任務(wù)配置

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

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

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

“D:\xampp\htdocs\razor\web\index.php”是Cobub Razor在服務(wù)器上的目錄,archive和archiveHourly是定時任務(wù)執(zhí)行時需要的參數(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. 遲來數(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 定時任務(wù)

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

某些web主機(jī)允許設(shè)置web 定時任務(wù),主機(jī)會在預(yù)定時間自動訪問這個簡單的URL。如果想使用web 定時任務(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更多功能,請參見配置

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號