As unalias no script de backup do Mysql

1

Aqui está o script para fazer o backup do banco de dados MySQL.

#!/bin/bash
FILE=minime.sql.'date +%F'
DBSERVER=127.0.0.1
DATABASE=wordpress
USER=root
PASS=789789

unalias rm  2> /dev/null
rm $FILE  2> /dev/null
rm $FILE.gz  2> /dev/null
mysqldump --opt --user=$USER --password=$PASS $DATABASE > $FILE
gzip $FILE
echo "$FILE.gz was created"
ls -l $FILE.gz

Embora no comando, eles disseram 3 dessas linhas usadas para remover a versão anterior do arquivo, eu ainda não entendi porque temos que unalias rm e redirecionar stderr para / dev / null.

unalias rm  2> /dev/null
rm $FILE  2> /dev/null
rm $FILE.gz  2> /dev/null
    
por The One 13.04.2016 / 11:50

1 resposta

1

Provavelmente, o autor do script queria ter absoluta certeza de que o comando rm não foi modificado por nenhuma instrução alias existente.

O autor também poderia ter feito isso usando o caminho absoluto /bin/rm em vez de rm .

RM="/bin/rm"
$RM $FILE ...

Por que o autor optou por redirecionar rm para STDERR, já que a opção rm -f faz a mesma coisa.

    
por 13.04.2016 / 11:59