Compactando arquivos de log *.txt
Publicado por saymon castro de souza 12/06/2008
[ Hits: 7.984 ]
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); }
Função readConf. Ler arquivos de configuração.
Exemplo de manipulação de arquivos
Agenda (fones, compromissos, aniversários) em C usando arquivos binários
Editar o arquivo /etc/rc.d/rc.local
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter