Como zipar a pasta e fazer o upload para o Dropbox?

1

Eu gostaria de compactar uma pasta e fazer upload para minha caixa de depósito do shell do Ubuntu. Eu pretendo usar isso como uma solução de backup, por isso também seria bom para executar todos os dias e substituir o arquivo mais antigo .. Se dropbox não permitir isso, que outros serviços em nuvem você acha que funcionaria?

    
por Francisco Tomé Costa 07.06.2012 / 23:11

1 resposta

4

Compactar e mover arquivos

O seguinte irá zipar o diretório foo em sua pasta pessoal para um arquivo chamado backup.zip , que também será armazenado em sua pasta pessoal.

zip -r ~/backup.zip ~/foo

Agora, tudo o que você precisa fazer é mover esse arquivo para o seu Dropbox:

mv ~/backup.zip ~/Dropbox/

Se o arquivo de backup já existir, mv irá sobrescrevê-lo sem avisá-lo, então esteja ciente disso.

Automatizando

Você pode colocar isso em um arquivo de script, talvez chamá-lo de backup.sh e armazená-lo em sua pasta pessoal.

#!/bin/bash
zip -r ~/backup.zip ~/foo
mv ~/backup.zip ~/Dropbox/

É isso. Se você preferir manter suas versões antigas, você pode registrar o arquivo de timestamp pelo arquivo criado executando o comando date antes:

#!/bin/bash
d=$(date +"%Y-%m-%d") # => this returns 2012-03-25, for example
zip -r ~/backup-$d.zip ~/foo
mv ~/backup-$d.zip ~/Dropbox/

Agora, na sua linha de comando, torne esse arquivo executável:

chmod +x ~/backup.sh

A única coisa que você precisa fazer para adicionar isso a uma agenda é editar seu crontab :

EDITOR=nano;crontab -e

Adicione a seguinte linha:

0   15  *   *   *   ~/backup.sh >/dev/null

Pressione Ctrl-O e insira para salvar. Seu backup será executado às 15:00, todos os dias. Para mais opções, confira o artigo da Wikipedia sobre Cron .

    
por 07.06.2012 / 23:24