it-swarm-pt.tech

O script do bash de backup não está compactando seu tarball

Eu tenho um script bash que é executado como um cron para fazer backup de arquivos no servidor.

#!/bin/bash
FILE=/path/to/backup_$(date +%Y%m%d).tar
tar -cf $FILE /backup/this /and/that /and/someotherfiles
gzip $FILE

Quando executo o script diretamente usando:

Sudo bash ./backup-files.sh

Ele compactou o arquivo, mas na noite passada, quando o cron o executou, o deixou como um alcatrão. O cron salvaria um log em algum lugar que apontasse para o motivo?

3
bcmcfc

A partição em que o backup está localizado está no limite?

Seu script criou o tarball, mas o gzip não tinha mais espaço para compactá-lo.

(você pode combinar os dois comandos com o sinalizador -z para tar)

Uau, esqueci uma coisa: adicione -v flag ao seu comando tar. Ele exibirá o que faz.

6
Pierre-Yves Gillier

Como Pierre mencionou, você pode usar o sinalizador -z. Geralmente, eu sempre uso o tar zcvfP para fazer backup de diretórios inteiros e preservar sua estrutura e permissões. A bandeira v também está lá, também é útil.

6
TuxSax

Se acontecer novamente que seu script não faz o que você deseja, você pode adicionar set -x na parte superior do script. Ele produzirá exatamente o que faz e, frequentemente, é útil encontrar erros. Se você o chamar como cronjob, verifique se $EMAIL está definido como apropriado.

3
qbi