Blockinfile не работает в ansible

Сжатие crunch вывод с помощью pxz может сэкономить много места, но компромиссом являются циклы ЦП. Вот некоторые выходные данные текущего запуска:

crunch 8 8 |       { sleep 1s ; pv -c -N raw ; } | \
    pxz -D 12 -c | { sleep 2s ; pv -c -N cmp ; } > 8letters.txt.xz 
Crunch will now generate the following amount of data: 1879443581184 bytes
1792377 MB
1750 GB
1 TB
0 PB
Crunch will now generate the following number of lines: 208827064576 
      raw: 1.11GiB 0:07:41 [15.1MiB/s] [                           <=>   ]
      cmp: 7.14MiB 0:08:18 [   0 B/s] [    <=>                           ]

Обратите внимание на код pv, который показывает скорость передачи данных для исходного crunch вывода, прямо над скоростью передачи данных после pxz :

  • На каждый ГБ уходит около 7 минут, что означает, что для завершения задания может потребоваться девять дней .
  • Но коэффициент сжатия постоянно лучше, чем 100:1, поэтому выходной файл должен быть меньше 17 ГБ.
0
29.05.2017, 09:41
2 ответа

Я вижу две (может быть, три) проблемы с вашей игрой. Параметр Блокне существует, это блоксо строчной буквой b. Тогда блок имеет неправильный отступ. Вам нужно сделать отступ блока за пределы отступа параметра блока. Также это не удастся, если файл /tmp/fire.txtне существует.

Вот плейбук в рабочем виде:

---
 - hosts: 1.1.0.1
   tasks:
   - name: putting /tmp/fire.txt File on all machine.
     blockinfile:
      dest: /tmp/fire.txt
      block: | 


       *filter
          :INPUT   DROP   [0:0]
          :FORWARD DROP   [0:0]
          :OUTPUT  ACCEPT [0:0]
          -A INPUT -i lo -j ACCEPT
          -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
          -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
          -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
          -A INPUT -p udp --sport 53 -j ACCEPT
          -A INPUT -p tcp --dport 80   -j ACCEPT
          -A INPUT -p tcp --dport 443  -j ACCEPT
          -A INPUT -p tcp --dport 23   -j ACCEPT
          -A INPUT -p tcp --dport 22   -j ACCEPT
          -A INPUT -p tcp --dport 3260   -j ACCEPT --comment "Enable iscsi port"
          -A INPUT -p tcp --dport 119   -j ACCEPT --comment "Enable nfs TCP  port"
          -A INPUT -p tcp --dport 2049   -j ACCEPT --comment "Enable nfs UDP port"
          COMMIT
3
28.01.2020, 02:25

По какой-то конкретной причине вы используете модуль blockinfile, а не сохраняете файл while локально на вашем компьютере в /tmp/fire.txt, а затем используете модуль копирования??

---
 - hosts: 1.1.0.1
   tasks:
    - name: putting /tmp/fire.txt File on all machine.
      copy:
          src: /tmp/fire.txt
          dest: /tmp/fire.txt

В противном случае, когда вы используете blockinfile, действительно ли файл существует в месте назначения?

0
28.01.2020, 02:25

Теги

Похожие вопросы