Проблемы с созданием полной резервной копии в bash

Используйте ту же логику, как показано URL

tr ' ' '\n' < file.txt | awk '{if($0=="her"){nmw+=1}}END{print ((nmw*100)/NR)}'

1
13.07.2018, 04:45
2 ответа

Если вы используете Vagrant, вы можете использовать следующий Vagrantfile, который предоставит 3 ящика (Ubuntu 16.04 ).

$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :


##############
### References
# - https://www.vagrantup.com/docs/vagrantfile/machine_settings.html
# - https://www.vagrantup.com/docs/vagrantfile/tips.html
# - https://www.vagrantup.com/docs/networking/forwarded_ports.html
##############

#unless Vagrant.has_plugin?("HostManager")
#  raise 'HostManager plugin not installed!'
#end

image = "ubuntu/xenial64"

Vagrant.configure("2") do |config|
  vboxName1 = "box-101"
  hostname1 = "box1"
  config.vm.define "#{vboxName1}" do |box|
    box.vm.box = "#{image}"
    #box.vm.network :private_network, ip: "192.168.56.101"
    box.vm.network :public_network, use_dhcp_assigned_default_route: true
    box.vm.provider :virtualbox do |v|
      v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      v.customize ["modifyvm", :id, "--memory", 512]
      v.customize ["modifyvm", :id, "--name", "#{hostname1}"]
    end
  end

  vboxName2 = "box-102"
  hostname2 = "box2"
  config.vm.define "#{vboxName2}" do |box|
    box.vm.box = "#{image}"
    #box.vm.network :private_network, ip: "192.168.56.103"
    box.vm.network :public_network, use_dhcp_assigned_default_route: true
    box.vm.provider :virtualbox do |v|
      v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      v.customize ["modifyvm", :id, "--memory", 512]
      v.customize ["modifyvm", :id, "--name", "#{hostname2}"]
    end
  end

  vboxName3 = "box-103"
  hostname3 = "box3"
  config.vm.define "#{vboxName3}" do |box|
    box.vm.box = "#{image}"
    #box.vm.network :private_network, ip: "192.168.56.103"
    box.vm.network :public_network, use_dhcp_assigned_default_route: true
    box.vm.provider :virtualbox do |v|
      v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      v.customize ["modifyvm", :id, "--memory", 512]
      v.customize ["modifyvm", :id, "--name", "#{hostname3}"]
    end
  end
end

Чтобы использовать:

# launches all VMs
$ vagrant up

# ssh into box-101
$ vagrant ssh box-101

Для получения дополнительной информации об использовании vagrantобратитесь к использованию:

$ vagrant
1
27.01.2020, 23:23

Ваши сообщения об ошибках вызваны тем, что виртуальные машины используют один и тот же носитель.
Это может быть связано с тем, что вы использовали один и тот же образ виртуального жесткого диска для виртуальных машин, и это не сработает. Каждой виртуальной машине нужен собственный виртуальный жесткий диск.
Другая возможность заключается в том, что установочный носитель (ISO-файл )для Ubuntu связан со всеми тремя виртуальными машинами во время их работы. Этот ISO необходим только для базовой установки, поэтому после того, как вы закончите установку первой виртуальной машины, вы можете отключить ISO и использовать его для второй виртуальной машины.

Что касается сетевой части, то :виртуальные машины, настроенные как NAT, помещаются в виртуальную сеть с использованием диапазона IP-адресов 10.0.0.x -. Virtualbox настроит dhcp для этой подсети и позаботится о том, чтобы DNS и тому подобное перенаправлялись на обычный DNS. Это делается на основе сетевой конфигурации хост-системы, поэтому требуется правильная настройка.
В качестве альтернативы вы также можете настроить сеть только для хоста -между виртуальными машинами. В этом случае виртуальная машина работает в изолированной сети, которая видна только для виртуальной машины и хоста.
В любом случае обратитесь к отличному руководству Virtualbox. Он имеет обширный раздел по работе в сети, включая только команды командной строки (), которые предоставляют гораздо больше возможностей, чем конфигурация с графическим интерфейсом.

2
27.01.2020, 23:23

Теги

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