如何使用 Ansible 将文件从 Cisco ASR900 的一个目录移动到另一个目录由 root 拥有?

问题描述

嗨,我正在编写 Ansible 剧本,在某个阶段,需要将文件 (file.txt) sftp 到 /Harddisk: 在运行 IOS XR 的 Cisco ASR9000 路由器上。然后 playbook 必须将该文件从 /Harddisk: 移动到 /misc/config/grpc/dialout/file.txt。 手动执行此操作时,用户首先执行 sftp,然后运行命令“run”,这会给他一个 linux shell,以 root 身份登录。然后他只需运行命令“mv /harddisk:/file.txt /misc/config/grpc/dialout/file.txt”,工作就完成了! 但是,当尝试通过 Ansible playbook 执行此操作时,我似乎只能使用 Ansible 的 netcommon.net_put 模块完成 sftp 部分。即使您运行以下内容,剧本也无法移动文件

- name: sftp file to remote host
  net_put:
    src: /home/userA/file.txt
    dest: '/harddisk:/file.txt'
    protocol: sftp
  tags:
    - copy_sftp
- name: move the file to /misc/config/grpc/dialout/file.txt
  iosxr_command:
    commands:
    #- {command: run,prompt: $,answer: 'mv /harddisk:/file.txt /misc/config/grpc/dialout/file.txt'}
    - run
    - mv /harddisk:/model.crt /misc/config/grpc/dialout/file.txt
    - exit
  tags:
    - copy_sftp

有什么建议可以实现吗?有没有办法在连接到 iosxr 设备时释放 Linux shell?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)