Jack Posted May 29 Share Posted May 29 Cron讓vBulletin論壇定時執行計劃任務,避免由於沒有足夠的流量來及時觸發所有腳本,而導致計劃任務無法正常執行的問題 ----------------------------------------------------------------- 關閉論壇的任務運行,交給cron來運行 ----------------------------------------------------------------- 為了測試論壇任務是否真有交給cron來執行,先到論壇後台修改 ------------------------------------------ 論壇後台 -> 設置 -> 選項 -> 服務器設置和優化 -> 啟用計劃任務 -> 否 啟用基於瀏覽器的系統事件 -> 否 -> 保存 ------------------------------------------ 論壇後台 -> 設置 -> 選項 -> 電子郵件 -> 使用基於Cron的發送 -> 是 -> 保存 ----------------------------------------------------------------- 修改 vbcron.php ----------------------------------------------------------------- 在vBulletin 6.0 論壇程式.zip 的 do_not_upload 資料夾中,可找到vbcron.php 開啟並修改 vbcron.php $core = '/var/www/域名.com/core'; ----------------------------------------------------------------- 上傳 vbcron.php ----------------------------------------------------------------- 將腳本上傳到伺服器,最好在 webroot 目錄之外 那麼 vbcron.php 上傳到 /var/www/ ----------------------------------------------------------------- Cron 定時執行任務 ----------------------------------------------------------------- 你應該設置Cron每分鐘運行以下命令 也就是 /usr/bin/php /var/www/vbcron.php 開機啟用 systemctl enable cron 啟動 systemctl start cron 瀏覽crontab定時任務運行列表 crontab -l 設置為每分鐘運行論壇任務 */1 * * * * /usr/bin/php /var/www/vbcron.php 開啟crontab,將上面那一行 xxx.... vbcron.php 複製貼上到最下面 crontab -e ESC儲存並離開 :wq 重開機 reboot 瀏覽crontab定時任務運行列表 crontab -l ----------------------------------------------------------------- 到論壇後台確定是否已改為cron運行任務 ----------------------------------------------------------------- 論壇後台 -> 計劃任務 -> 計劃任務管理器 -> 在此瀏覽各個計劃任務的下次執行時間 論壇後台 -> 計劃任務 -> 計劃任務日誌 -> 計劃任務日誌查看器 -> 查看 瀏覽在此的日誌條目,可以知道Cron是否運行 ------------------------------------ 備份資料庫、備份網站 ------------------------------------ 可以在此下載 backup.sh backup.sh ------------------------------------ 修改為你的論壇情況 ------------------------------------ Backup_Home="/var/www/backup/" MySQL_Dump="/usr/bin/mysqldump" ######~Set Directory you want to backup~###### Backup_Dir=("/var/www/域名.com") ######~Set MySQL Database you want to backup~###### Backup_Database=("資料庫名") ######~Set MySQL UserName and password~###### MYSQL_UserName='root' MYSQL_PassWord='資料庫root的密碼' 再使用SFTP將backup.sh腳本上傳到 /root/ 目錄 ------------------------------------ 將 backup.sh 更改為可執行權限 ------------------------------------ chmod +x /root/backup.sh --------------------------------------------- 每日3點,備份資料庫、備份網站目錄 --------------------------------------------- crontab -e 每日3點運行,備份資料庫、備份網站目錄,也是加入到底下 0 3 * * * bash /root/backup.sh ESC儲存並離開 :wq crontab修改後不需要restart 瀏覽crontab定時任務運行列表 crontab -l ------------------------------------------------- 建立備份檔的儲存目錄 /var/www/backup ------------------------------------------------- 建立 /var/www/backup 目錄,之後資料庫、網站的備份檔放在這裡 mkdir /var/www/backup 測試備份 bash /root/backup.sh 正確的話,你將看到 Backup website files... Backup Databases... Delete old backup files... 進入備份的目錄 cd /var/www/backup ls -l 也用SFTP進入 /var/www/backup 備份目錄看看 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now