У меня есть этот сценарий, и он работает, но результат не заархивирован, поэтому он огромен. Я хочу сохранить его в архиве, но я не понимаю сценарий оболочки и не хочу его испортить. Не могли бы вы помочь мне заархивировать его так: ".sql.zip", пожалуйста?
/usr/bin/mysqldump -h $mysql_host -u $mysql_username -p$mysql_password $mysql_database > $backup_path/$today/$mysql_database-`date +%H%M`.sql
Любая помощь приветствуется.
Я думаю, ты можешь просто сделать это.
/usr/bin/mysqldump -h $mysql_host -u $mysql_username -p$mysql_password $mysql_database | gzip -9 -c > $backup_path/$today/$mysql_database-`date +%H%M`.sql.gz
Просто передайте вывод по каналу gzip
Команда будет такой:
/usr/bin/mysqldump -h $mysql_host -u $mysql_username -p$mysql_password $mysql_database | gzip > $backup_path/$today/$mysql_database-`date +%H%M`.sql.gz
Вы можете передать это, хотя gzip (или bzip2, pbzip2, xzи т.д ...) вот так:
/usr/bin/mysqldump -h $mysql_host -u $mysql_username -p$mysql_password $mysql_database | gzip -c > $backup_path/$today/$mysql_database-`date +%H%M`.sql.gz
застегивать не лучший инструмент для этой работы, потому что он хранит данные в виде файлов в архиве (например, tar + gzip), где другие инструменты просто сжимают данные.
mysqldump (mysqldump -C
) также поддерживает сжатую связь, которая, возможно, может ускорить передачу данных по сети.