Compactando arquivos de log *.txt
Publicado por saymon castro de souza 12/06/2008
[ Hits: 8.007 ]
Algoritmo que pode ser colocado no cron para a compactação dos arquivos *.txt existentes em um diretório.
É muito interessante para a compactação de logs de banco de dados.
#include<stdio.h> #include<stdlib.h> #include<string.h> /* Este programa compacta todos arquivos txt existentes em um determinado diretorio */ int main(int argc, char **argv[]){ FILE *fp; char arquivo_temp[60], comando[80],arquivo_tar[60],arquivo[60]; if (strcmp(argv[1],"--h") == 0){ printf("##########################\n\n"); puts("Programa para compactar arquivos txt..."); printf("\n"); puts("Sintaxe: "); printf("\n"); puts(" #./compacta <DIRETORIO>"); printf("\n\n"); puts("Exemplo:"); printf("\n"); puts("#./compacta /tmp"); printf("\n"); puts("**compacta todos arquivos txt existentes em /tmp"); printf("\n#########################\n"); exit(0); } int i; char lista[80]="ls "; strcat(lista,argv[1]); strcat(lista,"/*.txt"); strcat(lista," > lista"); system(lista); fp = fopen("lista","r"); while(!feof(fp)){ /*fgets(string,60,fp)*/ fscanf(fp,"%s",arquivo_temp); for(i=0;i<strlen(arquivo_temp)-4;i++) strcat(arquivo[i],arquivo[i]; printf("\n\n%s\n\n",arquivo); /*criando o pacote tar*/ /*comando = 'tar -cf' arquivo_tar arquivo */ strcpy(comando,"tar -cf "); strcpy(arquivo_tar,arquivo); strcat(arquivo_tar,".tar"); strcat(comando,arquivo_tar); strcat(comando," "); strcat(comando,arquivo); system(comando); strcpy(comando,""); /*criando o pacote bz2*/ strcpy(comando,"bzip2 -z "); strcat(comando,arquivo_tar); system(comando); } system("rm *.txt -rf"); system("rm *.tar -rf"); fclose(fp); }
Faça um programa em c++ gere um arquivo e depois leia usando um gerador de numeros do tipo s
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Dificuldade de instalar Apache Office no Zorin17 (0)
alterar o tamanho da tela do monitor via xrandr (1)
Acesso remoto via SSH por Script numa virtualbox (1)
Notebuxo positivo vaio VJFE43F11X Something has gone seriously wrong... (9)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (35)