第一步:在文章表中加乙個字段,用來儲存定時發布的時間
假定我把這個欄位設為 push_time 預設為 0
1第三步:設定定時任務//定時發布文章
2public
function
time_push_news()
3
首先我們先了解一下crontab命令,最後再給大家介紹如何應用到thinkphp.如果你已經了解過crontab命令,可以拉到最後看如何應用到thinkphp
1 安裝crontab:23
yum install crontabs45
6關於cron的一些命令:
78 /sbin/service crond start //
啟動服務
910 /sbin/service crond stop //
關閉服務
1112 /sbin/service crond restart //
重啟服務
1314 /sbin/service crond reload //
重新載入配置
15檢視crontab服務狀態:service crond status
1617
手動啟動crontab服務:service crond start
1819
檢視crontab服務是否已設定為開機啟動,執行命令:ntsysv
2021 加入開機自動啟動: chkconfig –level 35crond on
2223
24crontab命令介紹
2526
功能說明:設定計時器。
2728
29 語 法:crontab [-u 《使用者名稱》][配置檔案] 或crontab [-u 《使用者名稱》][-elr]
3031
3233
補充說明:cron是乙個常駐服務,它提供計時器的功能,讓使用者在特定的時間得以執行預設的指令或程式。只要使用者會編輯計時器的配置檔案,就可以使 用計時器的功能。其配置檔案格式如下:
3435
minute hour day month dayofweek command
3637
3839
參 數:
4041 -e 編輯該使用者的計時器設定。
4243 -l 列出該使用者的計時器設定。
4445 -r 刪除該使用者的計時器設定。
4647 -u《使用者名稱》指定要設定計時器的使用者名稱。
4849
5051
52crontab 格式
5354 基本格式:
5556 * * * * *command
5758
分 時 日 月 周 命令
5960
6162 第1列表示分鐘1~59 每分鐘用*或者*/1表示
6364 第2列表示小時1~23(0表示0點)
6566 第3列表示日期1~31
6768 第4列 表示月份1~12
6970 第5列標識號星期0~6(0表示星期天)
7172
第6列要執行的命令
7374
7576
#use the hash sign to prefix a comment
7778
#+—————- minute (0 – 59)
7980
#| +————- hour (0 – 23)
8182
#| | +———- day of month (1 – 31)
8384
#| | | +——- month (1 – 12)
8586
#| | | | +—- day of week (0 – 7) (sunday=0 or 7)
8788
#| | | | |
8990
#* * * * * command to be executed
9192
9394
95crontab檔案的一些例子:
9697
98 30 21 * * * /etc/init.d/nginx restart
99100 每晚的21:30重啟nginx。
101102
103104 45 4 1,10,22 * * /etc/init.d/nginx restart
105106 每月1、10、22日的4 :45重啟nginx。
107108
109110 10 1 * * 6,0 /etc/init.d/nginx restart
111112 每週
六、週日的1 :10重啟nginx。
113114
115116 0,30 18-23 * * * /etc/init.d/nginx restart
117118 每天18 : 00至23 :00之間每隔30分鐘重啟nginx。
119120
121122 0 23 * * 6 /etc/init.d/nginx restart
123124 每星期六的11 : 00pm重啟nginx。
125126
127128 * */1 * * * /etc/init.d/nginx restart
129130
每一小時重啟nginx
131132
133134 * 23-7/1 * * * /etc/init.d/nginx restart
135136
晚上11點到早上7點之間,每 隔一小時重啟nginx
137138
139140 0 11 4 * mon-wed /etc/init.d/nginx restart
141142
每月的4號與每週一到週三 的11點重啟nginx
143144
145146 0 4 1 jan * /etc/init.d/nginx restart
147148
一月一號的4點重啟nginx
149150
151152 */30 * * * * /usr/sbin/ntpdate 210.72.145.20
153154
155每半小時同步一下時間
156157
158應用到thinkphp
159首先你得把要定時執行的功能**寫到action中。或者可以用url訪問之後可以執行也行。
160 例如我把定時每天遍歷訂單是否有成交額的更新**放在 order/update_status 下。
161 而我的專案訪問位址是www.jieqinwang.com 即:這個功能的**執行路徑為:http://
162得到這個路徑之後就可以去liunx去配置cron了。
163164 crontab -e 進入任務列表。
165按下i鍵進入編輯模式,然後新增一條任務。
166比如我想每天中午12點執行一次我剛剛寫的那段**
167 就新增新的一行 0 12 * * * curl http://
168 然後按esc鍵退出編輯模式,再輸入:wq回車。儲存退出。
169 這樣我們就新增了乙個定時任務。可以利用crontab -l來檢視任務列表是否已經含有。
170最後一步,因為這樣新增進行有可能不會立即生效。我們重啟一下cron服務就可以了。
171 重啟服務命令:/sbin/service crond restart
phpcms定時發布文章解決辦法
phpcms更新文章是一件比較繁瑣的事情,如果phpcms能有定時更新文章的功能就好了。這樣就可以一次把文章都寫好,規定發布時間剩下的事情就交給系統了,通過最近的研究,還真有這種方法。第一步 修改 開啟phpcms modules content index.php 加入下面函式 wlsh 說明 文...
PHPCMS V9 定時發布文章的實現方法
在wordpress中,新增博文的時候,發布日期寫未來的時間,那麼在時間到來的時候,文章會自動發布出現在首頁,做到預約發布 自動發布。其實在phpcms v9中同樣可以做到定時發布,這樣就可以預先設定些文章,在假期可以定時發布,避免出現類似cmsyou在過年期間,更新文章停了1個月的時間。具體怎麼做...
你發布的文章是有效的文章嗎?
發布的文章,如果你不是新聞站點,那麼你發布的文章也許真的沒有幾個人看!那麼我們發文章還有什麼意義呢?我們發文章最大的意義實際上是給搜尋引擎蜘蛛看的!當然我指的是一部分站點,比如我們泰安招聘我們發布的職場資訊也許真的沒有人看!但是我們的目的只是引蜘蛛來罷了!我可以說對搜尋引擎來說這就是一篇非常有意義的...