在 ubuntu 服务器上使用 shell 脚本创建 mysql 个备份
create mysql backups using shell script on ubuntu server
我在 ubuntu 服务器上有一个 mysql 服务器 运行ning。在 mysql 服务器上,我有一个包含一些模式和表的数据库。我每天 运行 一个 mysql_backup.sh 文件和一个 cron 作业来创建我的 mysql 数据库的备份。 mysql_backup.sh 文件包含以下脚本。我检查并注意到,当 mysql_backup.sh 文件 运行 时,它似乎创建了一个只有几行一般 mysql 函数描述的文件。我在下面包含了 mysql_backup.sh 文件创建的一些示例输出。有没有人看到我做错了什么,你能建议如何修改 mysql_backup.sh 脚本,以便它创建数据库的 mysql 备份吗?[=15=]
mysql_backup.sh
代码:
#!/bin/bash
mysqldump -u root -p psswd --all-databases > /home/mysql_backups/backup_$(date +%F.%H%M%S).sql
示例当前输出:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
如果您将密码放在带有 -p
标志的命令行中,则 -p
和密码之间不能有 space。 -p
标志后面有 space 意味着它将提示您输入密码,而不是从下一个参数中获取密码。下一个参数将被解释为要备份的模式的名称,但由于您还使用了 --all-databases
,这会混淆 mysqldump。
为了使用法更清楚,我建议使用这样的长标志:
#!/bin/bash
mysqldump --user=root --password=psswd --all-databases > /home/mysql_backups/backup_$(date +%F.%H%M%S).sql
或者更好的是,根本不要将凭据放在命令行中。将它们放入 options file.
我在 ubuntu 服务器上有一个 mysql 服务器 运行ning。在 mysql 服务器上,我有一个包含一些模式和表的数据库。我每天 运行 一个 mysql_backup.sh 文件和一个 cron 作业来创建我的 mysql 数据库的备份。 mysql_backup.sh 文件包含以下脚本。我检查并注意到,当 mysql_backup.sh 文件 运行 时,它似乎创建了一个只有几行一般 mysql 函数描述的文件。我在下面包含了 mysql_backup.sh 文件创建的一些示例输出。有没有人看到我做错了什么,你能建议如何修改 mysql_backup.sh 脚本,以便它创建数据库的 mysql 备份吗?[=15=]
mysql_backup.sh
代码:
#!/bin/bash
mysqldump -u root -p psswd --all-databases > /home/mysql_backups/backup_$(date +%F.%H%M%S).sql
示例当前输出:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
如果您将密码放在带有 -p
标志的命令行中,则 -p
和密码之间不能有 space。 -p
标志后面有 space 意味着它将提示您输入密码,而不是从下一个参数中获取密码。下一个参数将被解释为要备份的模式的名称,但由于您还使用了 --all-databases
,这会混淆 mysqldump。
为了使用法更清楚,我建议使用这样的长标志:
#!/bin/bash
mysqldump --user=root --password=psswd --all-databases > /home/mysql_backups/backup_$(date +%F.%H%M%S).sql
或者更好的是,根本不要将凭据放在命令行中。将它们放入 options file.