草庐IT

git - 使用 Ansible 进行 SSH 代理转发

我正在使用Ansible1.5.3和Git以及ssh代理转发(https://help.github.com/articles/using-ssh-agent-forwarding)。我可以登录到我使用Ansible管理的服务器并测试我与git的连接是否正确配置:ubuntu@test:~$ssh-Tgit@github.comHigituser!You'vesuccessfullyauthenticated,butGitHubdoesnotprovideshellaccess.我还可以使用此帐户克隆和更新我的一个存储库,这样我的git配置看起来不错,并在我直接通过ssh登录到我的服务

mysql - 如何使用 Ansible 创建大型数据库

假设您有一个sql文件database.sql,它创建数据库模式、其中的表和一些初始填充。通常,我可以使用ansible通过以下方式制作此数据库:----name:copydatabase.sqltoservertemplate:src=database.sqldest=/tmp/database.sqlowner=rootgroup=root-name:sqlthethingintoMySQLcommand:mysql"-uroot-p{{mysql_root_password}}这完全符合它所说的。但是当database.sql很大(可能是2TB)时,您真的不希望首先执行复制操作。

linux - Ansible - 如何检查物理内存和可用磁盘是否大于某个值?

如何编写ansible任务来检查物理内存是否>=128MB且可用磁盘>=256MB。我试图获取输出,但我不确定如何进一步进行。#Checkthephysicaldiskmemory128MBandfreedisk256MB-name:checkthephysicalmemorycommand:vmstat-sregister:phy_mem 最佳答案 当您开始编写playbook时,Ansible的首要任务始终是TASK[GatheringFacts]此任务获取Ansible使用但可在您的剧本中使用的一些内部变量。例如,对于内存检查

linux - 升级到 1.9 后,使用 sudo 的 Ansible 文件复制失败

在剧本中,我使用sudo复制文件。它曾经工作......直到我们迁移到Ansible1.9......从那时起,它失败并显示以下错误消息:“ssh连接已关闭,等待sudo密码提示”我提供了ssh和sudo密码(通过Ansible提示),所有其他通过sudo运行的命令都成功了(只有文件复制和模板失败)。我的命令是:ansible-playbook-k--ask-become-pass--limit=testhost-C-Dplaybooks/debug.ymlplaybookd包含:-hosts:designsyncgather_facts:yestasks:-name:Makesure

linux - ansible中的bash数组元素计数操作

想知道这在ansible任务中如何工作?-shell:|y=(aabb);echo"${#y[@]}"register:r目前它给出了以下错误ERROR:Therewasanerrorwhileparsingthetask'shelly=(aabb);echo"${#y[@]}"\n'.Makesurequotesarematchedorescapedproperly..那是因为字符“#”。我无法逃避它,否则这是一个无效的bash操作。如果我逃避它,我会得到:$ansible-clocalhost-mshell-a'y=(aabb);echo"${\#y[@]}"'-ihosts.in

linux - sudo 用户的 Ansible env 变量不同

我们面临的问题是环境变量。用户A的JAVA_HOME设置为1.5,root用户设置为1.7。当我手动登录并检查A和root中的版本时,它反射(reflect)的是相同的。当我以用户A身份通过ansibleSSH并将sudo设置为true(sudo_user=root)时,我预计java版本为1.7但它返回为1.5,这是用户的版本A.知道为什么手动登录和可靠登录之间的行为不同吗? 最佳答案 根据您的系统配置,当Ansible通过sudo提升其权限时,环境将被“净化”,为您提供最小的环境变量集。您的/etc/sudoers文件可能具有设

linux - 我如何使用 zfs-linux 使用 ansible 创建 zfs 文件系统/zpool

我希望使用ansible中的zfs模块生成以下等价物,以下使用命令行工作,但在第二次运行时失败,因为文件系统已经存在。{{part_postgres}}在此实例中设置为/dev/sdb。zpoolcreate-Ocompression=gzippostgres{{part_postgres}}-Osecondarycache=all目前在ansible中我有:-name:Createpostgreszpoolzfs:name=postgres{{part_postgres}}compression=gzipstate=presentsecondarycache=allmountpoin

linux - 在ansible中获取root权限

我在ansible中有以下任务:-file:"state=directorypath=/servers/repo"sudo:yesname:"Createthebasesitedirectory."它应该以我的用户身份运行,但具有root权限。但即使我的用户是sudoer,它也会失败Sorry,usersofiabisnotallowedtoexecute'/bin/sh-cechoSUDO-SUCCESS-amlzcqzchzpjsgkllckjhjfednpjgevj;LANG=CLC_CTYPE=C/usr/bin/python/home/sofiab/.ansible/tmp/

linux - 文件中的 Ansible 取消注释行

我想使用Ansible取消注释文件sshd_config中的一行,我有以下工作配置:-name:Uncommentlinefrom/etc/ssh/sshd_configlineinfile:dest:/etc/ssh/sshd_configregexp:'^#AuthorizedKeysFile'line:'AuthorizedKeysFile.ssh/authorized_keys'然而,此配置仅在行以#AuthorizedKeysFile开头时有效,但如果行以#AuthorizedKeysFile或#AuthorizedKeysFile(#和单词之间的空格)。如何配置正则表达式,

linux - Ansible:是否可以调整 ext4 文件系统的大小?

如何通过Ansible调整ext4文件系统的大小?我知道filesystem模块,但我没有看到“调整大小”参数,或者其他关于它的东西...... 最佳答案 为了完成任务idempotent,添加另一个任务以首先检查是否有任何未扩展的分区。例如,如果您希望根分区至少为10GB:-name:Assertrootpartitionisexpandedassert:{that:item.mount!='/'oritem.size_total>10737418240}#10GBwith_items:'{{ansible_mounts}}'ig