91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

linux fprintf如何實現日志輪轉

小樊
83
2024-08-27 01:16:25
欄目: 智能運維

在Linux中,可以使用logrotate工具實現日志輪轉

  1. 創建一個日志文件:
#include<stdio.h>
#include <stdarg.h>
#include <time.h>

void write_log(const char *format, ...) {
    FILE *logfile;
    va_list args;
    time_t now;
    char timestr[20];

    logfile = fopen("myapp.log", "a");
    if (logfile == NULL) {
        return;
    }

    time(&now);
    strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S", localtime(&now));
    fprintf(logfile, "[%s] ", timestr);

    va_start(args, format);
    vfprintf(logfile, format, args);
    va_end(args);

    fclose(logfile);
}

int main() {
    write_log("This is a log message.\n");
    return 0;
}
  1. 編譯并運行程序:
gcc -o myapp myapp.c
./myapp
  1. 創建logrotate配置文件:

/etc/logrotate.d/目錄下創建一個名為myapp的配置文件。使用文本編輯器打開該文件,例如:

sudo nano /etc/logrotate.d/myapp
  1. 編輯logrotate配置文件:

將以下內容添加到配置文件中:

/path/to/your/myapp.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 640 root adm
    postrotate
        invoke-rc.d rsyslog rotate > /dev/null
    endscript
}

請確保將/path/to/your/myapp.log替換為實際的日志文件路徑。

  1. 測試日志輪轉:

要測試日志輪轉是否正常工作,可以使用以下命令手動運行logrotate

sudo logrotate -f /etc/logrotate.d/myapp

這將立即執行日志輪轉。檢查日志文件是否已按照配置文件中的設置進行了輪轉。

現在,每天都會自動進行日志輪轉。logrotate會將舊的日志文件壓縮并保留7天。當然,你可以根據需要調整這些設置。

0
宜兰市| 甘孜县| 象州县| 辉南县| 锡林郭勒盟| 镇坪县| 无为县| 洛扎县| 浮梁县| 进贤县| 凤山县| 怀远县| 长岛县| 大埔县| 阿图什市| 登封市| 浏阳市| 广河县| 财经| 板桥市| 榆中县| 杭锦旗| 宝坻区| 喀什市| 类乌齐县| 崇义县| 塔河县| 定襄县| 本溪市| 格尔木市| 秦安县| 周宁县| 仪陇县| 万安县| 江安县| 阜平县| 新郑市| 个旧市| 霍邱县| 灵山县| 永济市|