Tinkphp定時發布文章的教程

2021-07-31 11:21:11 字數 3830 閱讀 7616

第一步:在文章表中加乙個字段,用來儲存定時發布的時間

假定我把這個欄位設為 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個月的時間。具體怎麼做...

你發布的文章是有效的文章嗎?

發布的文章,如果你不是新聞站點,那麼你發布的文章也許真的沒有幾個人看!那麼我們發文章還有什麼意義呢?我們發文章最大的意義實際上是給搜尋引擎蜘蛛看的!當然我指的是一部分站點,比如我們泰安招聘我們發布的職場資訊也許真的沒有人看!但是我們的目的只是引蜘蛛來罷了!我可以說對搜尋引擎來說這就是一篇非常有意義的...