iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
IT 管理

iTop:開源 ITSM 與 CMDB 解決方案 系列 第 4

了解 iTop 的例行性工作排程 Crontab

  • 分享至 

  • xImage
  •  

我們還需要啟用背景服務來維持 iTop 的正常運作,所有的背景任務都已經整合到一個文件中啟動:webservices/cron.php。

以下功能依賴於 cron.php 的啟動:

  • 當工單達到逾時門檻值的通知
  • 檢查工單的 SLA,達到限制的工單將進入升級的 TTO 或 TTR 狀態。
  • 自動備份
  • 自動刪除在創建或編輯過程中取消操作時所創建的無用附件和內嵌圖片
  • 電子郵件通知
  • 許多的延伸套件,如從電子郵件創建工單或者批准自動化等等。

所有的背景任務都是按順序處理的,直到超過 cron_max_execution_time,此參數有助於避免內存洩漏。

Scheduling on Linux
由於在命令列上傳遞給 cron.php 的參數對系統上的其他使用者是可見的。

sudo cp /var/www/html/itop/webservices/cron.distrib /etc/itop-cron.params
sudo vi /etc/itop-cron.params

建議的做法是建立參數檔,將所有敏感參數移離命令列。

# cron parameters file used by cron.cmd
#
# Warning: make sure that this file is NOT readable by the web server
auth_user=admin
auth_pwd=your_admin_password

# My web service
size_min = 20 # Megabytes
time_limit = 40 # Minutes

編輯 crontab 以每 1 分鐘執行一次腳本

不要使用 root 使用者執行 cron.php,您必須使用執行 iTop 的 Web 伺服器所使用的相同使用者啟動該命令。

sudo crontab -u www-data -e

注意,請將 /var/www/html/itop 替換為您的 iTop 目錄路徑

*/1 * * * * /usr/bin/php /var/www/html/itop/webservices/cron.php --param_file=/etc/itop-cron.params >> /var/log/itop-cron.log 2>&1

建立日誌檔並賦予 www-data 權限

sudo touch /var/log/itop-cron.log
sudo chown www-data: /var/log/itop-cron.log

校正時區
時區對於背景任務來說十分的重要,能確保任務在預期的時間點準確執行。

設定 Ubuntu 的時區

sudo timedatectl set-timezone Asia/Taipei

重啟 MariaDB 服務,若 MariaDB 沒有設定時區,則會使用系統的時區。

sudo service mariadb restart
sudo mysql

透過下列指令驗證時間是否正確

MariaDB [(none)]> Select now();
+---------------------+
| now()               |
+---------------------+
| 2024-06-20 14:24:56 |
+---------------------+
1 row in set (0.000 sec)

設定 PHP 時區

sudo vi /etc/php/8.1/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = Asia/Taipei

記得重啟 Apache 服務

sudo service apache2 restart

設定 iTop 時區

點選 Configuration 選單的 General Configuration

預設的時區為 Europe/Paris,更改為 Asia/Taipei,點選 APPLY。

// timezone: Timezone (reference: http://php.net/manual/en/timezones.php). If empty, it will be left unchanged and MUST be explicitly configured in PHP
// default: 'Europe/Paris'
'timezone' => 'Asia/Taipei',

資料庫備份
點選 Configuration 選單的 General configuration

iTop 備份的相關參數如下,依照自己的需求進行調整。

'itop-backup' => array (
  'mysql_bindir' => '',
  'week_days' => 'monday, tuesday, wednesday, thursday, friday',
  'time' => '23:30',
  'retention_count' => 5,
  'enabled' => true,
  'itop_backup_incident' => '',
 ),

點選 System 選單的 Backups

若排程有正常運行,Scheduled Backups 可以看到備份的紀錄與檔案。

今天的分享就到這邊,感謝收看。

參考文件

  1. https://www.itophub.io/wiki/page?id=3_1_0%3Aadmin%3Acron

上一篇
如何在 Ubuntu 20.04 安裝開源 ITSM & CMDB:iTop
下一篇
iTop 系統介面簡介
系列文
iTop:開源 ITSM 與 CMDB 解決方案 32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言