日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

定期清理程序日志

服務部署到SAE后,會面臨日志清理的問題。不同技術棧語言應用的處理方案不同。例如,Java應用可以設置日志輪轉達到自動清理的效果。但一些其他語言的應用,例如PHP,不帶日志清理輪轉的框架。此外,還有部分應用因為特殊原因無法設置輪轉。這些應用都需要對應的方案自動清理程序日志。本文以CentOS和Debian操作系統為例,介紹如何通過SAE控制臺配置程序的日志清理。

實施方案

通過SAE控制臺自定義運行環境設置,安裝并配置Crontab,達到定期清理的目的。您可以在創建或者部署應用時,填寫自定義運行環境設置的相關參數。下圖以ZIP包部署的PHP應用為例。sc_custom_runtime_enviroment_configuration

本文僅介紹關鍵步驟,關于配置路徑的更多信息,請參見設置代碼包運行環境

操作步驟

CentOS按最后操作時間清理

以下示例為每小時執行一次,對最后修改時間大于7天、以.log結尾的文件進行刪除操作。

  1. 安裝Crontab。

    #!/bin/bash
    
    set -o errexit
    set -o nounset
    set -o pipefail
    
    yum install -y crontab
  2. 添加待執行的定時任務表達式和命令。

    echo "0 * * * * root find /home/admin/logs/* -mtime +7 -name '*.log'  -exec rm -rf {}  \;">>/etc/crontab
    重要

    寫入到/etc/crontab目錄的內容中,一定要攜帶用戶名(本示例為root)。

  3. 啟動Crontab。

    展開應用生命周期管理設置區域,在啟動后處理(PostStart設置)頁簽,輸入Crontab的啟動命令。

    /sbin/crond
    start

    sc_input_crontab_commands_in_poststart_configuration_for_centos

Debian按最后操作時間清理

以下示例為每小時執行一次,對最后修改時間大于7天、以.log結尾的文件進行刪除操作。

  1. 安裝Crontab。

    #!/bin/bash
    
    set -o errexit
    set -o nounset
    set -o pipefail
    
    apt-get update
    apt-get install -y cron
  2. 添加待執行的定時任務表達式和命令。

    echo "0 * * * * root find /home/admin/logs/* -mtime +7 -name '*.log'  -exec rm -rf {}  \;">>/etc/crontab
    重要

    寫入到/etc/crontab目錄的內容中,一定要攜帶用戶名(本示例為root)。

  3. 啟動Crontab。

    展開應用生命周期管理設置區域,在啟動后處理(PostStart設置)頁簽,輸入Crontab的啟動命令。

    service
    cron
    start

    sc_input_crontab_commands_in_poststart_configuration_for_debian

Crontab參數說明

CentOS按最后操作時間清理Debian按最后操作時間清理這兩個操作系統的Crontab命令行設置,都是通過echo命令,將Crontab的指令追加到/etc/crontab文件中。以下列命令為例,介紹配置過程中涉及的指令。

0 * * * * root find /home/admin/logs/* -mtime +7 -name '*.log'  -exec rm -rf {}  \;
  • 0 * * * *:Crontab執行時間的表達式。更多信息,請參見Crontab表達式說明

  • root:設定執行的賬戶。

  • 其余部分為要執行的指令,表示找到/home/admin/logs目錄下所有文件,并刪除其中超過7天未發生修改的文件。-mtime表示天,-mmin表示分鐘。

文件清空清理

針對一些不會實現日志文件輪轉的場景,可以直接清空文件內容。對于CentOS和Debian系統,安裝和設置Crontab的方式和上文一致。以下示例僅介紹如何編寫Crontab命令。

yes | cp /dev/null /home/admin/logs/demo.log

其中絕對路徑/home/admin/logs/demo.log可以按需修改。

Crontab表達式說明

格式如下:

f1 f2 f3 f4 f5 program

其中f1表示分鐘,f2表示小時,f3表示一個月份中的第幾日,f4表示月份,f5表示一個星期中的第幾天,program表示要執行的程序。

f1*時,表示每分鐘都要執行programf2*時,表示每小時都要執行程序,以此類推。

常見的Crontab表達式如下。

執行時間

格式

每分鐘定時執行一次

* * * * *

每小時定時執行一次

0 * * * *

每天定時執行一次

0 0 * * *

每周定時執行一次

0 0 * * 0

每月定時執行一次

0 0 1 * *

鏡像補充

如果以鏡像方式部署的應用,需要使用自定義運行環境設置的方式清理日志,您需要自行安裝和啟動Crontab命令,并將鏡像源替換成阿里云的內網源。關于替換內網源的具體操作,請參見CentOS鏡像