Как скопировать файлы с windows на freebsd
Если на Вашем сервере с операционной системой FreeBSD имеется большое количество свободного дискового пространства, то одним из эффективных способов его применения может стать организация резервного копирования данных с других компьютеров. Если они работают под управлением операционных систем семейства Linux / Unix, не должно возникнуть никаких проблем, если под управлением Windows, то задача немного усложнится. Данная статья описывает один из способов ее решения.
Постановка задачи и исходные данные
Необходимо организовать резервное копирование содержимого общих папок \NTSERVER1SHARE1 и \NTSERVER2SHARE2 , находящихся на серверах с Windows, в папки /backup/share1 и /backup/share2 локальной файловой системы сервера с FreeBSD по заданному расписанию. Для выполнения резервного копирования (синхронизации) файлов и папок следует использовать утилиту cpbk, установленную из обновленной коллекции портов.
Добавление поддержки SMBFS
Добавление поддержки SMBFS потребуется только при наличии серверов с FreeBSD версии ниже 5.0 (начиная с версии 5.0, операционная система содержит модуль ядра, обеспечивающий нужную функциональность). Для включения поддержки SMBFS в старых версиях операционной системы придется добавить в файл конфигурации ядра опции NETSMB , NETSMBCRYPTO , LIBMCHAIN , LIBICONV , SMBFS , пересобрать ядро и перезагрузить систему.
Файл конфигурации утилит SMBFS
По умолчанию утилиты SMBFS используют глобальный файл конфигурации /etc/nsmb.conf и пользовательские файлы конфигурации
/.nsmbrc . Опции, заданные в глобальном файле конфигурации, переопределяют опции, заданные в файлах конфигурации пользователей. Лично я использую файл конфигурации .nsmbrc , находящийся в домашней папке суперпользователя root . В рассматриваемом случае этот файл должен обеспечивать корректную перекодировку русских букв в именах файлов и папок, возможность обращения к серверам с Windows по именам NetBIOS и возможность подключения к выбранным общим папкам без ввода пароля. С учетом сказанного файл
/.nsmbrc должен иметь следующее содержимое:
Секция [default] является общей для всех серверов с Windows. В рассматриваемом случае она содержит параметры перекодировки имен файлов charsets , IP-адрес сервера WINS nbns и имя домена или рабочей группы workgroup . Секции вида [<Имя сервера>:<Имя пользователя>] задают параметры подключения конкретных пользователей Windows к конкретным серверами с Windows. В рассматриваемом случае они содержат пароли password . По умолчанию пароли хранятся в открытом виде. Для частичного избавления от данной неприятности предназначена команда smbutil crypt <пароль> , результатом выполнения которой является закодированный пароль. В связи с тем, что кодирование не является шифрованием и спасает только от подглядывания, не забудьте выполнить команду chmod 600
/.nsmbrc , которая запретит доступ к файлу
/.nsmbrc всем, кроме владельца. Для тестирования созданного файла конфигурации можно запросить списки общих папок серверов с Windows командами:
а также создать точки монтирования и попытаться смонтировать выбранные общие папки серверов с Windows командами:
Если Вы были внимательны, команды smbutil. и mount. отработают без ошибок и ни разу не попросят Вас ввести пароль.
Обновление таблицы файловых систем
Для повышения удобства работы необходимо добавить общие папки серверов с Windows в таблицу файловых систем /etc/fstab :
Теперь для монтирования общих папок \NTSERVER1SHARE1 и \NTSERVER2SHARE2 можно будет использовать команды:
Синхронизация данных с помощью cpbk
Установку утилиты cpbk следует выполнить из портов:
Ключи -nr утилиты cpbk обеспечивают удаление файлов и папок, которые отсутствуют в папке-источнике, и рекурсивную обработку вложенных папок (в результате в папке-приемнике создается точная копия содержимого папки-источника), а благодаря наличию ключа -o rdonly команды mount , общие папки серверов с Windows монтируются только для чтения. Для того, что созданный скрипт ежесуточно запускался в полночь, следует войти в систему под именем суперпользователя root , выполнить команду crontab -e и добавить в открывшуюся crontab строку:
Заключение
Выполнив действия, которые описаны в этой статье, Вы сможете использовать простаивающее свободное дисковое пространство сервера с FreeBSD более эффективно. Помните, что все люди, имеющие отношение к компьютерам, делятся на тех, кто еще не делает резервное копирование, и тех, кто уже делает. Я не советую Вам дожидаться неприятностей, которые постигли первых, и рекомендую досрочно присоединиться ко вторым.
Добрый день. Столкнулся с проблемой: перестала работать почта на exim, разбирался и обнаружил что не работает антивирус clamav. Оказалось что нужно установить новую версию антивируса. Администратор уволился, а я в этом не силен. Я скачал новую версию антивируса clamav - clamav-0.96.tar.gz. Но я не знаю как перенести ее с виндовса на сервер FreeBSD. Также, я думаю что надо и старую версию антивируса удалить. Если кто может помочь - пишите подробней. FreeBSD 6.2>Добрый день. Столкнулся с проблемой: перестала работать почта на exim, разбирался иЗаранее большое спасибо.
>обнаружил что не работает антивирус clamav. Оказалось что нужно установить новую
>версию антивируса. Администратор уволился, а я в этом не силен. Я
>скачал новую версию антивируса clamav - clamav-0.96.tar.gz. Но я не знаю
>как перенести ее с виндовса на сервер FreeBSD. Также, я думаю
>что надо и старую версию антивируса удалить. Если кто может помочь
>- пишите подробней. FreeBSD 6.2
>
>Заранее большое спасибо.
Зря вы это затеяли. Наймите нового сисадмина. Хотябы приходящего.
>Зря вы это затеяли. Наймите нового сисадмина. Хотябы приходящего.Так или иначе, это сделать придется мне. Если можете, опишите хотябы как перенести файл с windows на FreeBSD. На FreeBSD нет графической оболочки, но через него идет интернет. Может можно как-нибудь скачать антивирус с инета?
>>Зря вы это затеяли. Наймите нового сисадмина. Хотябы приходящего.
>
>Так или иначе, это сделать придется мне.Сочуствую. Увольняйся.
>Если можете, опишите хотябы как
>перенести файл с windows на FreeBSD. На FreeBSD нет графической оболочки,
>но через него идет интернет. Может можно как-нибудь скачать антивирус с
>инета?Да вы основ не знаете. Что вам обьяснять? Как операцию на печени делать кухонным ножом?
будет мучить форум дальше :) что ему с этим файлом делать.ps. как вариант, человека поставили перед выбором - либо делай, либо увольняйся. хотя если начальство такое "умное", проще уволиться.
pps. у нас при объеме почты до 100000 принятых писем в день вирусов в письмах бывает штуки 2-3.
ppps. кстати, существует вероятность, что wget там нет. так что лучше воспользоваться fetch - он идет в системе
> будет мучить форум дальше :) что ему с этим файлом делать.
> ps. как вариант, человека поставили перед выбором - либо делай, либо увольняйся.
> хотя если начальство такое "умное", проще уволиться.
> pps. у нас при объеме почты до 100000 принятых писем в день
> вирусов в письмах бывает штуки 2-3.
> ppps. кстати, существует вероятность, что wget там нет. так что лучше воспользоваться
> fetch - он идет в системе. УТИЛИТКА WinSCP(копирует файл на фряху из винды), но за остальные ваши действия я не отвечаю :)
В этом уроке мы узнаем, как установить и использовать инструмент pscp в операционной системе Windows.
Утилиту pscp можно скачать по следующей ссылке.
Существуют разные типы установки.
pscp может быть установлен в автономном режиме или с пакетом установки putty.
Я предпочитаю установочный пакет Putty, где настройка конфигурации Пути также выполняется автоматически.
Как видим, есть 32- и 64-битные версии.
Я буду использовать 64 бит, потому что моя ОС Windows 64 битная соответственно 🙂 .
Установка Pscp
Мы установим скачанный 64-битный MSI-пакет putty в обычном стиле Windows Далее-> Далее.
Помощь и Настройки
Если нам нужно перечислить все доступные опции и справочную информацию, мы можем просто ввести команду pscp в командную строку или MSDOS, как показано ниже.
Мы начнем с простого примера, где мы будем загружать или получать один файл с удаленного сервера или системы.
Как указывалось ранее, мы будем использовать протокол SSH для подключения и передачи.
Мы просто предоставим имя пользователя удаленной системы, IP-адрес или имя хоста и файл с его абсолютным путем.
Мы также предоставим имя файла, который мы хотим сохранить локально.
> pscp ismail @ 192.168.142.144 : / home / ismail / pass pass . txtМы видим, что сначала мы подключимся к серверу, который нам нужен, чтобы утвердить ключ удаленного сервера.
Затем мы предоставляем пароль для пользователя ismail.
После успешной аутентификации передача файла успешно завершена.
В предыдущем примере мы загрузили или получили один файл с удаленного сервера.
Мы также можем загружать и получать несколько файлов из удаленной системы в соответствии с их путем или расширением.
В этом примере мы загрузим все gzip-файлы с расширением gz, которые находятся в /home/ismail.
. означает, что мы будем сохранять в текущий рабочий каталог.
Загрузить или поместить файл на удаленный сервер
Мы также можем загрузить или поместить данный файл на удаленный SSH-сервер с помощью команды pscp.
Сначала мы предоставим имя файла, а затем предоставим имя пользователя удаленной системы, IP-адрес или имя хоста и путь, куда мы хотим положить файл.
Загрузить несколько файлов на удаленный сервер
Мы также можем поместить несколько файлов на удаленный сервер с помощью команды pscp.
Мы предоставим имена файлов перед удаленным сервером, информацию о пользователе.
В этом примере мы скопируем локальные файлы pass.txt, config.sys на удаленный сервер.
Если мы хотим получить удаленные каталоги и скачать локальные, нам нужно использовать рекурсивную опцию -r.
Загрузить каталоги рекурсивно на удаленный сервер
Мы также можем отправлять или загружать локальные каталоги на удаленный сервер.
Мы снова будем использовать опцию -r.
Мы поместим каталог Downloads на удаленный сервер 192.168.142.144 и в папку /home/ismail/Downloads
Подключение к серверу посредством SSH – один из основных методов управления *nix серверами. Довольно часто возникает необходимость загрузить файл на удаленный сервер, либо выгрузить, и других средств кроме SSH-подключения нет. К счастью, копирование файлов через защищенное соединение – одна из штатных функций этого протокола и реализуется с помощь отдельной команды scp в Linux-системах, либо с помощью pscp.exe, входящей в состав SSH-клиента Putty для операционной системы Windows.
Работаем на ОС семейства Linux
Используем следующий формат команд:
scp [модификатор] [источник] [место_назначения]
Если в качестве источника или места назначения указывается удаленный сервер, то формат параметра такой:
После запуска команды потребуется ввести пароль от указанной учетной записи удаленного сервера.
Если собрать все вместе, то скопировать локальный файл /home/user/file.tgz в домашний каталог пользователя root удаленного сервера 123.123.123.123 можно командой:
scp /home/user/file.tgz [email protected]:/root
Чтобы скачать этот же файл с удаленного сервера:
scp [email protected]:/root/file.tgz /home/user
За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:
scp file1.tgz file2.tgz [email protected]:/root
Для копирования каталога потребуется задействовать модификатор команды –r. Копируем локальный каталог /home/user/dir на удаленный сервер:
scp –r /home/user/dir [email protected]:/root
В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция –P. Если нужно подключиться через порт 10022:
scp –P 10022 /home/user/file.tgz [email protected]:/root
Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.
Работаем на ОС семейства Windows
При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:
pscp.exe C:Tempfile.tgz [email protected]:/root
В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:
“C:Program FilesPuttypscp.exe” C:Tempfile.tgz [email protected]:/root
Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.
Запуск команд на удаленном сервере через SSH-подключение
Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.
Работаем на ОС семейства Linux
ssh [пользователь]@[сервер] ‘[команда]’
При запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.
Например, получим информацию об установленной на удаленном сервере операционной системе:
ssh [email protected] ‘uname -a’
Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим сетевые настройки и активные сетевые подключения на удаленном сервере:
ssh [email protected] ‘ifconfig; netstat -anp tcp’
В случае, если потребуется запустить на удаленном сервере локальный файла сценария, потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл сценария. Выглядеть эта конструкция будет так:
ssh [email protected] ‘bash -s’ < /home/user/myscript.sh
В результате локальный файл /home/user/myscript.sh исполнится на удаленном сервере.
Запуск команды SSH без параметров позволит ознакомиться с краткой справкой по синтаксису и списком дополнительных модификаторов, которые позволяют расширить функциональность команды.
Работаем на ОС семейства Windows
Если мы подключаемся к удаленному серверу с компьютера, работающего на операционной системе Windows, то нам снова потребуется обратиться к терминальному клиенту Putty, в состав которого входит исполняемый файл plink.exe. Работать с этим файлом необходимо из командной строки (cmd.exe) или из PowerShell.
Для запуска команды на удаленном сервере используется следующий синтаксис:
plink.exe [сервер] -ssh -l [пользователь] “[команда]”
Проверим конфигурацию сетевых интерфейсов:
plink.exe 123.123.123.123 -ssh -l root “ifconfig”
Как и при работе с командой SSH в Linux, plink.exe позволяет использовать “;” в качестве разделителя для запуска нескольких команд:
plink.exe 123.123.123.123 -ssh -l root “ifconfig; netstat -anp tcp”
А запуск команд из локального файла можно реализовать с помощью дополнительного ключа -m:
Читайте также: