我想跑
mysqldump -u aUser -p P4SSw0rd --all-databases > backup.sql
Run Code Online (Sandbox Code Playgroud)
在 cron 工作中。我怎样才能安全地这样做?
我知道我可以将命令放在那里,但是任何有权访问机器的人都会通过 crontab 立即看到它。有没有更好的方法来做到这一点?
Dan*_*son 15
如man mysqldump:见6.1.2.1。MySQL 参考手册中的最终用户密码安全指南。
选项文件是最安全的选择,尤其是根据上述参考资料。在 crontab 中以纯文本形式提供它并不好,尤其是因为默认情况下进程命令行ps对其他用户可见。这同样适用于参考中解释的环境变量。
将您的密码存储在选项文件中。例如,在 Unix 上,您可以在主目录
[client]中的.my.cnf文件部分列出您的密码:Run Code Online (Sandbox Code Playgroud)[client] password=your_pass为了确保密码安全,除了您自己之外,任何人都不应访问该文件。为确保这一点,请将文件访问模式设置为
400或600。例如:Run Code Online (Sandbox Code Playgroud)shell> chmod 600 .my.cnf要从命令行命名包含密码的特定选项文件,请使用该
--defaults-file=file_name选项,其中file_name是文件的完整路径名。例如:Run Code Online (Sandbox Code Playgroud)shell> mysql --defaults-file=/home/francis/mysql-opts
另请参阅/sf/ask/750764661/。
| 归档时间: |
|
| 查看次数: |
15604 次 |
| 最近记录: |