当前位置: 技术问答>linux和unix
求一个解决方案!谢谢
来源: 互联网 发布时间:2016-03-23
本文导语: 1、定时(假设10点吧)删除/tmp目录下的全部子目录和全部文件; 2、定时(假设星期五晚上零点)将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz 谢谢谢谢 | 下面的代码可以满...
1、定时(假设10点吧)删除/tmp目录下的全部子目录和全部文件;
2、定时(假设星期五晚上零点)将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz
谢谢谢谢
2、定时(假设星期五晚上零点)将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz
谢谢谢谢
|
下面的代码可以满足你的要求
编译命令 gcc -Wall -o xxx xxx.c -lpthread
fedora9 上运行没有问题。
#include
#include
#include
#include
#include
#include
void tarfile()
{
time_t nowtime;
time_t endtime;
char *buff;
char command[50];
memset(command, 0, 50);
while (1){
nowtime = time(NULL);
buff = ctime(&nowtime);
if (NULL != strstr(buff, "Fri") && NULL != strstr(buff, "00:00:00"))
{
sprintf(command, "tar czf backup-%ld.tar.gz /data", (long)nowtime);
system(command);
}
endtime = time(NULL);
printf("%sn", buff);
sleep(1 + endtime - nowtime);
printf("sleep time: %ldn", 1+endtime-nowtime);
}
return ;
}
void rmfile()
{
time_t nowtime;
time_t endtime;
char *buff;
while(1)
{
nowtime = time(NULL);
buff = ctime(&nowtime);
if (NULL != strstr(buff, "10:00:00"))
{
system("rm -rf /tmp/*");
}
endtime = time(NULL);
printf("rm %sn", buff);
sleep(1 + endtime - nowtime);
printf("rm sleep time:%ldn", 1+endtime-nowtime);
}
return ;
}
int main()
{
pthread_t tid0;
pthread_t tid1;
pthread_create(&tid0, NULL, (void *)rmfile, NULL);
pthread_create(&tid1, NULL, (void *)tarfile, NULL);
pthread_join(tid0, NULL);
pthread_join(tid1, NULL);
return 0;
}
编译命令 gcc -Wall -o xxx xxx.c -lpthread
fedora9 上运行没有问题。