【发布时间】:2013-01-13 01:16:05
【问题描述】:
我正在尝试使用 cron 设置 mysql 数据库备份,以便将 mysql 数据库备份到我的本地 NAS 存储。我想将命令存储在服务器上的 .sh 文件中,然后使用 cron 执行它。
到目前为止,我已经设法从远程服务器获取将数据库保存到我的 NAS (QNAP) 的命令,即:
mysqldump
--add-drop-table
--comments [database_name]
-u [database_username]
-p[database_password] |
gzip -c |
ssh [nas_user]@[nas_ip_address]
"cat > /share/mysqlBackup/backup-`date +%Y-%m-%d_%H-%M-%S`.sql.gz"
以上工作正常,但我遇到的问题是:
我不确定如何在远程服务器上创建 .sh 文件并将
中的命令
此命令每次您都要求输入密码 执行它 - 有没有办法把它放在 .sh 文件中,这样我就可以 在后台执行而不提示它/或定义 命令中的密码?
非常欢迎提供如何解决上述问题的示例。
我相信可以使用 expect() 对话框,但同样 - 我不熟悉它,它的文档对我来说有点混乱。
【问题讨论】: