Jump to content
PHP論壇人

13-2.Crontab定時運行任務、備份資料庫、備份Web目錄


Recommended Posts

Posted (edited)

cron讓vBulletin論壇正常運行計劃任務

cron腳本將處理運行vBulletin任務 (論壇後台的計劃任務菜單)

避免由於沒有足夠的流量來及時觸發所有腳本而導致計劃任務無法運行的問題 

 


-----------------------------------------------------------------
關閉論壇的任務運行,交給cron來運行
-----------------------------------------------------------------

為了測試論壇任務是否真有交給cron來運行,先到論壇後台修改

 

------------------------------------------
論壇後台 -> 設置 -> 選項 -> 服務器設置和優化 ->

啟用計劃任務 -> 否

啟用基於瀏覽器的系統事件 -> 否

-> 保存

 


------------------------------------------
論壇後台 -> 設置 -> 選項 -> 電子郵件 ->

使用基於Cron的發送 -> 是

-> 保存 

 

 

-----------------------------------------------------------------
修改 vbcron.php
-----------------------------------------------------------------

在vBulletin 6.0 論壇程式.zip 的 do_not_upload 資料夾中,可找到vbcron.php

修改 vbcron.php

$core = '/home/wwwroot/域名.com/core';

 

 

儲存並離開
:wq

 

 


-----------------------------------------------------------------
上傳 vbcron.php
-----------------------------------------------------------------

將腳本上傳到伺服器

最好在 webroot 目錄之外

那麼 vbcron.php 上傳到 /home/wwwroot/

 

 


-----------------------------------------------------------------
Cron 定時運行任務
-----------------------------------------------------------------

你應該設置Cron每分鐘運行以下命令,改為LNMP一鍵包用的PHP路徑

也就是 /usr/local/php/bin/php /home/wwwroot/vbcron.php

 

開機啟用
systemctl enable cron

 

啟動
systemctl start cron

 


瀏覽crontab定時任務運行列表
crontab -l

 

設置為每分鐘運行論壇任務
*/1 * * * * /usr/local/php/bin/php /home/wwwroot/vbcron.php

 

開啟crontab,將上面那一行 ....... vbcron.php 複製貼上到最下面 (第1行是 acme.sh SSL憑證自動續約)
crontab -e


將出現訊息 Select an editor.  To change later, run 'select-editor'.
1. /bin/nano        <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny

我習慣用vi,所以按 2


 

 

儲存並離開
:wq

 

重開機
sudo reboot

 

 


-----------------------------------------------------------------
到論壇後台確定是否已改為cron運行任務
-----------------------------------------------------------------

論壇後台 -> 計劃任務 -> 計劃任務管理器 -> 在此瀏覽各個計劃任務的下次執行時間

論壇後台 -> 計劃任務 -> 計劃任務日誌 -> 計劃任務日誌查看器 -> 查看

瀏覽在此的日誌條目,可以知道Cron是否運行

 

 

 

------------------------------------
備份資料庫、備份Web目錄
------------------------------------

下載備份腳本 backup.sh

修改為你的論壇情況

SFTP將backup.sh腳本上傳到 /root/ 目錄

在底下的附件可以下載到 backup.sh

backup.sh

 

 

更改為可執行權限
chmod +x /root/backup.sh

 

 

指令
crontab -e

 

每日3點運行,備份資料庫、備份Web目錄,也是添加到最下面
0 3 * * * bash /root/backup.sh

 


儲存並離開
:wq

 


crontab修改後不需要restart

 


瀏覽crontab定時任務運行列表
crontab -l
 

 

 

-------------------------------------------------
建立備份檔的儲存目錄 /home/backup/ 
-------------------------------------------------

建立 /home/backup/ 目錄,之後資料庫、Web目錄的備份檔會放在這裡


命令
mkdir /home/backup

 

實際試試備份資料庫、備份Web目錄的腳本有無效用
bash /root/backup.sh

 

正常情況,你會看到
Backup website files...
Backup Databases...
Delete old backup files...

 

用SFTP進入 /home/backup/ 目錄,看看有無備份檔

 

Edited by Jack
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...