我正在尝试使用ansible和mysqldump备份远程数据库。我已经在本地server.Generated中安装了ssh密钥。我还将公钥发送到远程服务器。ansible部件中的所有内容都很好,但是不能使用ansible和mysqldump进行备份。
我试过这个:
ansible -m shell -a 'mysqldump -h 192.168.10.155 -u root -proot database_name > database_name.sql' remote_server但是备份是在remote_server的主目录中创建的。我的要求是我想把remote_server的备份放到我的local_server中。
编辑:
现在我用的是剧本:
备份正在进行,但如何在运行ansible的服务器中获得备份?
我研究过,这也可以用游戏手册来完成。
我怎样才能用剧本来实现它呢?
发布于 2018-07-10 10:33:56
我真的很抱歉把这封信寄出去。我后来意识到,这更像是我正在寻找的一种无意义的解决方案,而不是mysqldump。
我尝试了很多种选择,最后这一种对我来说很管用。
- hosts: remote_server
tasks:
- shell: mysqldump -h 192.168.10.155 -u root -proot mobile > mobile123.sql
- hosts: remote_server
tasks:
- fetch:
src: /home/user/mobile123.sql
dest: /home/user/
flat: true这个剧本所做的是,在第一部分使用mysqldump进行数据库备份,并在remote_server中创建备份。
在后面的部分中,它使用fetch命令将备份从remote_server复制到本地服务器(承载ansible的服务器)到本地目录。
一旦它在本地目录中,就可以复制到我们想要的服务器上。
希望这个对其他人也有帮助。
谢谢大家的帮助。
https://dba.stackexchange.com/questions/211663
复制相似问题