我一直在尝试在一个Ansible任务中创建8种不同产品的符号链接。这是我的代码。
- name: Other symlinks of Products
file:
src: "/var/www/html/{{ item.src }}"
dest: "/var/www/html/simpleRepoTwo/simpleRepoThree/{{release_folder}}/{{ item.dest }}"
state: link
with_items:
- src: simpleRepo
dest: p1
- src: simpleRepo
dest: p2
- src: simpleRepo
dest: p3
- src: simpleRepo
dest: p4
- src: simpleRepo
dest: p5
- src: simpleRepo
dest: p6
- src: simpleRepo
dest: p7
- src: simpleRepo
dest: p8
错误:
(item = {u'dest':u'p3',u'src':u'simpleRepo'})=> {“failed”:true,“gid”:0,“group”:“root”,“item”:{“dest”:“p3”,“src”:“simpleRepo”},“mode”:“0755” ,“msg”:“拒绝在目录和链接之间转换/ var / www / html / simpleRepoTwo / simpleRepoThree / 20161214-2004 / p3”,“owner”:“root”,“path”:“/ var / www / html / simpleRepoTwo / simpleRepoThree / 20161214-2004 / p3“,”size“:4096,”state“:”directory“,”uid“:0}
错误2
失败:[54.85.157.222](item = {u'dest':u'p8',u'src':u'simpleRepo'})=> {“failed”:true,“item”:{“dest”:“p8”,“src”:“simpleRepo”},“msg”:“链接时出错:[Errno 2]没有这样的文件或目录”,“路径“:”/ var / www / html / simpleRepoTwo / simpleRepoThree / 20161214-2005 / p8“,”state“:”absent“}
以下是内容列表/var/www/html/simpleRepo
只有index.html
而/var/www/html/simpleRepoTwo/simpleRepoThree/
有基于时间戳20161214-1922 , 20161214-1921
的发布文件夹,/var/www/html/simpleRepoTwo/simpleRepoThree/20161214-1922/
应该有p1, p2
}符号链接指向p1 -> /var/www/html/simpleRepo
我首先尝试创建所有文件夹并进行符号链接simpleRepo
。另外,我使用了command
模块,更改了目录。像这样。仍然,创建符号链接是不稳定的。
- command: ln -s /var/www/html/simpleRepo /var/www/html/simpleRepoTwo/simpleRepoThree/{{release_folder}}/p2
args:
chdir: /var/www/html/simpleRepoTwo/simpleRepoThree/{{release_folder}}/
提前致谢。
答案 0 :(得分:0)
如果它对其他人有帮助,我收到了同样的错误消息:
refusing to convert between directory and link for /path/to/file
因为我的playbook中的早期任务创建了一个与我尝试在dest
中创建的链接同名的目录。