April 8, 20251 yr Cron執行論壇任務、自動備份DB資料庫、自動備份Web網站檔案 ----------------------- 什麼是 Cron? ----------------------- Cron 是 Linux 系統內建的「時間排程服務」,可依照指定的時間自動執行指令或腳本,常見用途包括: 定期執行系統維護任務 自動備份資料 定時執行網站或論壇背景任務 ------------------------------------ Cron執行IPS論壇任務 ------------------------------------ 開機自動啟動Cron systemctl enable cron 立即啟動Cron systemctl start cron 檢查Cron狀態 systemctl status cron 檢視目前所有的Cron任務 crontab -l --------------------------- IPS論壇這邊的啟用Cron --------------------------- 在瀏覽器,前往IPS論壇後端 -> 系統 -> 進階配置 -> (v) 使用Cron (推薦) -> 儲存 系統會提供一組類似以下的指令 /usr/bin/php -d memory_limit=-1 -d max_execution_time=0 /var/www/域名.com/applications/core/interface/task/task.php 數值 --------------------- Linux這邊的啟用Cron --------------------- 接下來SSH登入 將上面那行Cron改為每1分鐘執行IPS論壇任務 */1 * * * * /usr/bin/php -d memory_limit=-1 -d max_execution_time=0 /var/www/域名.com/applications/core/interface/task/task.php 數值xxxxxx 設定Cron任務 將上面那行 xxxx .... /task/task.php 數值xxxxxx 複製貼上到末尾 (在此內容的第1行,你應該會看到之前 acme.sh 自動加入的腳本) crontab -e #IPS論壇每分鐘執行任務 */1 * * * * /usr/bin/php -d memory_limit=-1 -d max_execution_time=0 /var/www/域名.com/applications/core/interface/task/task.php 數值xxxxxx ESC儲存並離開 :wq 檢視目前所有的Cron任務 crontab -l 查看所有Cron相關日誌 journalctl -u cron 即時監看Cron執行狀況,等同 tail -f journalctl -u cron -f 查看今天的Cron日誌 journalctl -u cron --since today --------------------- 排程任務權限確認 --------------------- 確保IPS論壇的 task.php 具備執行權限 chmod 755 /var/www/域名.com/applications/core/interface/task/task.php --------------------------------------------------- 自動備份DB資料庫、自動備份Web網站目錄的腳本 --------------------------------------------------- 在此有一個好用的備份腳本,可在置底下載該備份腳本 backup.sh 使用SFTP上傳到 /root/ 目錄,然後修改為你的論壇情況 vi /root/backup.sh 修改為你的論壇情況 Backup_Home="/var/www/backup/" MySQL_Dump="/usr/bin/mariadb-dump" ######~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的密碼' ESC儲存並離開 :wq 將 backup.sh 更改權限 (權限說明:700 表示僅 root 可讀寫執行,提高安全性) chmod 700 /root/backup.sh 每日3點,備份DB資料庫、備份Web網站目錄 crontab -e 將這一段落,複製貼上到未尾 #每日3點,備份DB資料庫、備份Web網站目錄 0 3 * * * bash /root/backup.sh ESC儲存並離開 :wq 檢視目前所有的Cron任務 crontab -l ------------------------------------------------- 建立備份檔的儲存目錄 /var/www/backup ------------------------------------------------- 建立 backup 目錄,之後DB資料庫、Web網站目錄的備份檔將放在這裡 mkdir /var/www/backup 測試備份資料庫、備份網站目錄的腳本,預設保留最近3天的備份檔 bash /root/backup.sh 正確的話,你將看到 Backup website files... Backup Databases... Delete old backup files... 進入備份的目錄,預設保留最近3天的備份檔 cd /var/www/backup ls -l 也使用SFTP進入 /var/www/backup 備份目錄看看在此有一個好用的備份腳本 backup.shbackup.sh Edited February 5Feb 5 by Jack
Create an account or sign in to comment