linux定时清除目录下文件,linux 下怎样 定时 删除目录中的 指定的文件

各位哥哥姐姐:

小弟有个问题请教:一个程序每天都会产生一个*.txt文件(日志),*为这种格式:20080905charstring,也就是年月日加一些字符,现在的问题是:在linux中用c语言实现这个功能:定时的删除保存时间超过2周的*.txt文件。

注:*.txt文件保存的路径是不同的,需要配置路径。

谢谢谢谢了!!!!!!

|

#include

#include

#include

#include

#include

#include

int main()

{

DIR *db;

char filename[256],path[1024];

struct dirent *p;

FILE *file;

time_t curdate,towwork;

struct tm *tdate;

int year=0,month=0,day=0;

file=fopen("./config","r");

if(!file){

printf("config not exist!n");

return -1;

}

memset(path,0,sizeof(path));

fgets(path,sizeof(path),file);

if(path[strlen(path)-1]=='n')path[strlen(path)-1]='';

db=opendir(path);

if(!db){

printf("open %s error!n",path);

return -1;

}

while(p=readdir(db))

{

if(strcmp(p->d_name,".")==0||strcmp(p->d_name,"..")==0)

continue;

time(&curdate);

tdate = localtime (&curdate);

year=day=month=0;

sscanf(p->d_name,"%04d%02d%02d",&year,&month,&day);

if(year==0||month==0||day==0)continue;

tdate->tm_mday = day;

tdate->tm_mon = month-1;

tdate->tm_year =year-1900;

towwork=mktime(tdate);

if(towworkd_name);

}

closedir(db);

}

config

./

|

“定时的删除保存时间超过2周的*.txt文件”

从上述功能的表述来看,我理解你是准备用一个常驻进程来定时处理,这样的话应该会用到daemon守护进程,可以把1楼的代码转化成daemon进程来处理。

如果是每天手动执行处理,那我觉得用不如shell来做,要简单的多。

|

你说的都是windows下的格式,linux下不是以后缀来判断文件属性的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值