实用生活c语言脚本
#include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <time.h>
// 清理临时文件目录
 void clean_temp_directory() {
     const char* temp_dir = "/tmp";  // 可自定义需要清理的目录
     char command[1024];
     
     // 构建清理命令(删除7天前的文件)
     snprintf(command, sizeof(command), "find %s -type f -mtime +7 -delete", temp_dir);
     
     if (system(command) != 0) {
         fprintf(stderr, "清理临时文件失败\n");
     } else {
         printf("临时文件清理完成\n");
     }
 }
// 检查当前时间是否到达执行时间(示例为每天凌晨1点)
 int should_execute() {
     time_t now = time(NULL);
     struct tm* time_info = localtime(&now);
     
     // 设置执行时间(1点0分0秒)
     return (time_info->tm_hour == 1 && time_info->tm_min == 0 && time_info->tm_sec == 0);
 }
int main() {
     printf("日常清理服务启动\n");
     
     while (1) {
         // 每分钟检查一次时间
         if (should_execute()) {
             clean_temp_directory();
         }
         sleep(60);  // 每分钟检查一次
     }
     
     return 0;
 }
     
这个 C 语言脚本实现了日常文件清理功能,主要包含以下特性:
- 定时检查:每分钟检查一次当前时间,判断是否到达预设的执行时间(示例为每天凌晨 1 点)
- 清理功能:使用系统命令清理指定目录下 7 天前的旧文件(默认清理 /tmp 目录,可通过修改temp_dir变量自定义)
- 循环运行:程序启动后会持续运行,适合作为后台服务
- 错误处理:包含基本的命令执行结果检查
使用说明:
- 编译:gcc daily_cleaner.c -o daily_cleaner
- 运行:./daily_cleaner
- 自定义: - 修改temp_dir变量设置需要清理的目录
- 在should_execute函数中修改tm_hour/tm_min/tm_sec设置执行时间
- 调整mtime +7中的数字修改文件保留天数
 
- 修改
