linux cron: deseja fazer backup de uma pasta

5

Eu gostaria de fazer backup de uma pasta usando o cron em um centos. A pasta c2duo_mms está localizada em /usr/local/src/djcode/c2duo_mms . Eu gostaria que ele fizesse backup ip a cada 1:00 pm no Tuedays para minha pasta de início /home/sh .

    
por Shehzad009 19.07.2011 / 12:46

3 respostas

9

Uma boa coisa a fazer seria criar um novo arquivo compactado em sua casa.

Crie este script com o nome exmaple * / home / sh / c2duo_mms_backup.sh *:

#!/bin/bash

cd /usr/local/src/djcode/
tar zcf /home/sh/c2duo_mms-'date +%Y%m%d'.tar.gz c2duo_mms

Certifique-se de adicionar a permissão executável ao script:

chmod +x /home/sh/c2duo_mms_backup.sh

Em seguida, adicione a entrada relevante do crontab com o comando crontab -e :

0 13 * * 2 /home/sh/c2duo_mms_backup.sh

O script criará um novo arquivo compactado toda terça-feira com a data no nome do arquivo, para que você possa manter backups mais antigos, se desejar. O nome do arquivo será assim:

c2duo_mms_20110719.tar.gz 
    
por 19.07.2011 / 14:10
3
$ crontab -e
0 13 * * 2 cp -b /usr/local/src/djcode/c2duo_mms /home/sh/

O comando crontab -e deve abrir o arquivo crontab para edição em seu editor preferido (definido pelo variador de ambiente EDITOR ou VISUAL). A linha crontab diz para executar o comando no 0º minuto, 13ª hora, 2º dia da semana, qualquer dia do mês em qualquer ano. O comando em si é uma cópia de arquivo único simples, exceto que eu adicionei o argumento -b para que cp faça um arquivo de backup. Isso deve deixar você com DOIS backups o tempo todo, o atual e o anterior (com uma extensão .bk).

Editar: Para uma pasta em vez de um arquivo, tente rsync :

0 13 * * 2 rsync -av /usr/local/src/djcode/c2duo_mms/ /home/sh/c2duo_mms/
    
por 19.07.2011 / 12:52
2

Use o comando crontab -e e adicione esta linha ao seu crontab:

0 13 * * 2 cp -pra /usr/local/src/djcode/c2duo_mms /home/sh
    
por 19.07.2011 / 12:53

Tags