I have a dir in
/home
calledbackups
so I am looking to omit that directory from the backup using say-x /home/backups
. How would I go about implementing this?
Para implementar isso, você procuraria o script e descubra as linhas relevantes para fazer o backup do diretório:
# Compress tables and files
cd $TARGET_DIR
tar -czf $BACKUP_DIR/backup.incoming/$backup_filename -C $BACKUP_DIR/backup.incoming/ mysql_dump.sql $TARGET_DIR
Você descobriria que ele usa tar
, então você procuraria a página do manual para tar e determine que a opção excluir é --exclude
em vez de x
. Você aplicaria as alterações no arquivo e testaria.
Em vez de excluir um diretório fixo, faria sentido - no contexto do script - usar a variável que declara o diretório de backups, $BACKUP_DIR
.
tar -czf $BACKUP_DIR/backup.incoming/$backup_filename -C $BACKUP_DIR/backup.incoming/ --exclude $BACKUP_DIR mysql_dump.sql $TARGET_DIR
Enquanto você editava o script, seria ainda melhor se você modificasse (de maneira trivial) grandes partes do script para que ele pudesse lidar com nomes de diretórios contendo espaço em branco e outras estranhezas. Você faria isso citando a maioria das variáveis. Por exemplo, a seção tar
se tornaria isso:
# Compress tables and files
cd "$TARGET_DIR"
tar -czf "$BACKUP_DIR/backup.incoming/$backup_filename" -C "$BACKUP_DIR/backup.incoming/" --exclude "$BACKUP_DIR" mysql_dump.sql "$TARGET_DIR"