Se você realmente quiser usar zip
, use o truque de Jeff Schaller :
drt="/var/www/html"
mysqldump -u root -p --all-databases | zip "$drt/db-$date.zip" -
Isso criará um arquivo ZIP contendo um arquivo chamado -
cujo conteúdo é o dump do banco de dados. Isso é mencionado na% man_de% manpage:
zip
also accepts a single dash ("-") as the name of a file to be compressed, in which case it will read the file from standard input, allowing zip to take input from another program. For example:tar cf - . | zip backup -
Você também pode usar zip
:
mysqldump -u root -p --all-databases | zip -FI "$drt/db-$date.zip" /dev/stdin
Isso resultaria em um arquivo contendo um arquivo chamado /dev/stdin
, que pode ser mais difícil de manipular corretamente. dev/stdin
é um atalho comum para dizer aos programas para usar entrada ou saída padrão; não é algo que o shell manipule, ele precisa ser suportado por cada programa individual.
Em ambos os casos, você provavelmente desejaria usar -
para extrair os dados. ele extrai o primeiro membro de um arquivo para sua saída padrão.