1、安裝crontabs
linux應該都有crontab,沒有的話可以安裝一下:
yum install crontabs
安裝完以后開啟crontab服務
service crond start
用以下的方法啟動、關閉這個cron服務:
service crond start //啟動服務 service crond stop //關閉服務 service crond restart //重啟服務 service crond reload //重新載入配置 service crond status //查看crontab服務狀態 service crond start //手動啟動crontab服務
查看crontab服務是否已設置為開機啟動,執行命令:ntsysv (若不存在則執行yum install ntsysv)

2、編寫shell和要執行的腳本文件
task.sh:
# @file == 服務器要執行的任務文件路徑 # /usr/bin/php == 服務器中php目錄 # 在Linux環境下 對該sh腳本 進入vi后執行 :set ff = unix 再 :wq退出 # 修改腳本的文件格式,兼容問題 # 給該腳本777權限 # 執行命令crontab -e 添加任務 */1 * * * * root(用戶名) 命令(腳本)路徑 #!/bin/bash file='/var/www/html/script/task/cronJob-auto-confirm-recharge.php' /usr/bin/php $file
日后可將所有定時任務都放到task文件夾中:
#!/bin/bash path='/var/www/html/script/task/' filelist=`ls $path/*.php` for file in $filelist do /usr/bin/php $file done
cronJob-auto-confirm-recharge.php:
// 加載基礎文件 include dirname(dirname(__FILE__)).'/loadThink.php'; try { /* @var $walletReChargeModel \app\common\model\WalletReCharge */ $walletReChargeModel = model('common/walletReCharge'); $walletReChargeModel->startTrans(); // 更新充值列表 $walletReChargeModel->refreshList(); // 確認充值 $walletReChargeModel->where(['is_settled' => 0, 'status' => 1])->column('id'); $walletReChargeModel->confirmReCharge($ids); htcLog('CronJob Executed At:'.now(), 'cronJob.log'); $walletReChargeModel->commit(); }catch (Exception $e) { htcLog($e->getMessage(), 'cronJob.log'); $walletReChargeModel->rollback(); }
3、添加相應的任務
在命令行輸入: crontab -e 然后添加相應的任務,wq存盤退出。
分鍾 小時 日 月 星期 用戶 命令 * * * * * 用戶 命令(腳本)路徑 每一分鍾執行一次則: */1 * * * * 用戶 命令(腳本)路徑
直接執行php腳本文件的話 * * * * * php fileName.php
