我有这个脚本,它可以工作,但输出没有压缩,所以它很大。我想把它压缩保存,但我不明白 shell 脚本,我不想把它搞砸。你能帮我把它压缩成这样:“.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
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
小智 15
我认为你可以这样做。
/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
Run Code Online (Sandbox Code Playgroud)
只需“管道输出”到 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
Run Code Online (Sandbox Code Playgroud)
您可以通过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
Run Code Online (Sandbox Code Playgroud)
zip不是此作业的最佳工具,因为它将数据作为文件存储在存档中(如 tar + gzip),而其他工具只是压缩数据。
mysqldump ( mysqldump -C) 还支持压缩通信,这也许可以使网络上的数据传输更快。