【问题标题】:Ansible Downloading large filesAnsible 下载大文件
【发布时间】:2022-01-06 22:33:17
【问题描述】:

我正在尝试从我的网站下载备份文件。我的剧本结构如下:

  1. site_vars.yml 保存我的变量:
website_backup_download:
 - name: ftp://username:userpassword@ftp.mysite1.com/backups/mysite1backup.tgz
   path: mysites/backups/www
 - name: ftp://username:userpassword@ftp.mysite2.com/backups/mysite2backup.tgz
   path: mysites/backups/www
 - name: ftp://username:userpassword@ftp.mysite3.com/backups/mysite3backup.tgz
   path: mysites/backups/www
  1. 实际下载器手册:
# Downloader

task:
  - name: Download backups from FTP's
    get_url:
      url: "{{ item.name }}"
      dest: "{{ item.path }}"
      mode: 0750
    no_log: false
    ignore_errors: True
    with_items:
      - "{{ website_backup_download }}"

这实际上工作得很好,但是问题从大的备份文件开始,任务需要运行,直到备份文件被正确下载。

我无法重复完成未完成文件的任务。 :)

尝试了另一种解决方案,这也适用于单个站点,但不能用于多个下载:(

- name: Download backups
  command: wget -c ftp://username:userpassword@ftp.mysite1.com/backups/mysite1backup.tgz
    args:
      chdir: "{{ down_path }}"
      warn: false
    register: task_result
    retries: 10
    delay: 1
    until: task_result.rc == 0
    ignore_errors: True

感谢您的帮助。

【问题讨论】:

  • 关于“...问题始于大备份文件...”,您能否更详细地说明大的含义?关于“...任务需要一直运行,直到正确下载备份文件...”,您能否提供更多详细信息?这不是做的任务吗?任务运行多长时间?在什么时间之后留下“...未完成的文件或文件...”?在那个阶段会发生什么?有错误信息吗?
  • 假设 mysite1backup.tgz 备份文件为 750 MB,另一个为 50 MB,另一个小于 50 MB。任务完成没有问题,完整下载所有文件,但除了一个,mysite1backup.tgz 部分下载了 400 或 550 MB。
  • 运行时怎么样?任务运行多长时间?在什么时间之后留下“...未完成的文件或文件...”? get_url 模块有一个参数timeout。您可以执行一个增加值的简短测试。

标签: ansible download ftp wget large-files


【解决方案1】:

我已经修改了任务,添加了timeout参数用于运行时,另外添加了until参数,等待下载完成,并重试和延迟参数重试直到它满足条件。

这暂时有效 :) 谢谢大家。

# Downloader

task:
  - name: Download backups from FTP's
    get_url:
      url: "{{ item.name }}"
      dest: "{{ item.path }}"
      mode: 0750
      timeout: 1800
    retries: 10
    delay: 3
    register: result
    until: result is succeeded
    no_log: false
    ignore_errors: True
    with_items:
      - "{{ website_backup_download }}"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-14
    • 2020-01-22
    • 2018-11-14
    • 2019-01-20
    • 1970-01-01
    相关资源
    最近更新 更多