Внутреннее устройство Linux
Шрифт:
• —backup (сокращенно -b) — не затирает файлы, которые уже есть на целевой стороне, а переименовывает их, добавляя к именам суффикс ~ до начала передачи новых файлов.
• —suffix=s — изменяет суффикс, использованный в параметре —backup, c ~ на s.
• —update (сокращенно -u) — не затирает на целевой стороне никаких файлов, которые обладают более поздней датой изменения по сравнению с соответствующими файлами источника.
Если не указывать специальные параметры, команда rsync работает, не привлекая внимания, и выводит сообщения только в случае возникновения проблем. Тем не менее можно использовать команду rsync -v для подробного режима
Чтобы получить всеобъемлющий отчет после переноса файлов, используйте команду rsync —stats.
12.2.6. Сжатие
Многим пользователям нравится применять параметр -z в сочетании с параметром -a, чтобы выполнить сжатие данных перед передачей:
$ rsync -az dir host:destination_dir
Сжатие может улучшить производительность в некоторых ситуациях, например при выгрузке большого объема данных через медленное соединение (такое как поток, противоположный основному трафику, или многие DSL-соединения) или когда время ожидания между двумя хостами велико. Тем не менее в быстрых локальных сетях передача между двумя компьютерами может сдерживаться временем, которое процессор затрачивает на сжатие и распаковку данных, поэтому несжатая передача может оказаться быстрее.
12.2.7. Ограничение ширины полосы пропускания
Очень легко «засорить» интернет-подключение, выгружая на удаленный хост большие объемы данных. Даже если вы не станете использовать (обычно большую) скорость скачивания во время такой передачи, ваше соединение все же станет довольно медленным, если вы позволите команде rsync работать максимально быстро, поскольку исходящие TCP-пакеты, вроде запросов HTTP, будут соперничать с вашими передачами за ширину полосы.
Чтобы разобраться с этим, применяйте параметр —bwlimit, который даст вашей выгрузке больше пространства для маневра. Чтобы, например, ограничить ширину пропускания значением 10 000 Кбит в секунду, следует выполнить такую команду:
$ rsync —bwlimit=10000 -a dir host:destination_dir
12.2.8. Перенос файлов на ваш компьютер
Команда rsync предназначена не только для копирования файлов с локального компьютера на удаленный хост. Можно также переносить файлы с удаленного компьютера на локальный хост, указав удаленный хост и путь к удаленному источнику в качестве первого аргумента в командной строке. Следовательно, чтобы перенести каталог src_dir удаленного хоста в каталог dest_dir локального хоста, запустите следующую команду:
$ rsync -a host:src_dir dest_dir
примечание
Как отмечалось выше, можно использовать команду rsync для дублирования каталогов на локальном компьютере, если полностью опустить параметр host:.
12.2.9. Дальнейшие темы, относящиеся к команде rsync
Когда вам необходимо скопировать большое количество файлов, команда rsync должна прийти на ум одной из первых. Запуск этой команды в пакетном режиме чрезвычайно удобен, вы обнаружите множество параметров, позволяющих использовать вспомогательные файлы,
Команда rsync окажется также полезной для создания резервных копий. Можно, например, подключить к Linux интернет-хранилище вроде S3 от компании Amazon, а затем использовать команду rsync —delete, чтобы периодически синхронизировать файлы с этим хранилищем, организовав тем самым весьма эффективную систему резервного копирования.
Существует намного больше параметров командной строки, чем упомянуто здесь. Чтобы получить краткий обзор, запустите команду rsync —help. Более подробную информацию можно найти на странице руководства rsync(1), а также на домашней странице, посвященной команде rsync .
12.3. Введение в совместное использование файлов
Ваш компьютер с Linux, вероятно, не один в вашей сети, а когда в сети несколько компьютеров, практически всегда возникают поводы для совместного использования их файлов. Оставшаяся часть главы будет посвящена главным образом совместному использованию файлов на компьютерах с Windows и Mac OS X, поскольку будет интересно увидеть, каким образом Linux приспосабливается к совершенно другому окружению. Для совместного применения файлов на компьютерах с Linux или для доступа к файлам на устройстве сетевого хранения данных (NAS, Network Area Storage) нужно знать об использовании сетевой файловой системы (NFS, Network File System) в качестве клиента.
12.4. Совместное использование файлов с помощью пакета Samba
Если у вас есть компьютеры с Windows, то, вероятно, потребуется разрешить доступ к файлам и принтерам системы Linux с таких компьютеров, применяя стандартный сетевой протокол Windows — SMB (Server Message Block, блок сообщений сервера). Совместное использование файлов с помощью протокола SMB поддерживается также в Mac OS X.
Стандартный пакет ПО для совместного использования файлов в Linux называется Samba. Он не только позволяет Windows-компьютерам вашей сети получать доступ к системе Linux, но также работает в обратном направлении: можно получать доступ к файлам на серверах Windows c Linux-компьютера с помощью клиента Samba.
Чтобы настроить сервер Samba, выполните следующие действия.
1. Создайте файл smb.conf.
2. Добавьте в него разделы о совместном использовании файлов.
3. Добавьте в него разделы о совместном использовании принтеров.
4. Запустите демоны Samba: nmbd и smbd.
При установке сервера Samba из пакета дистрибутива ваша система должна выполнить перечисленные выше шаги, применив для сервера некоторые разумные параметры по умолчанию. Тем не менее ей, по-видимому, не удастся определить, какие именно ресурсы вашего Linux-компьютера вы предоставляете клиентам.
примечание
Обсуждение сервера Samba в этой главе краткое и сводится к тому, как добиться того, чтобы Windows-компьютеры внутри одной подсети видели автономный Linux-компьютер с помощью браузера Windows Network Places. Конфигурировать сервер Samba можно бесчисленным количеством способов, поскольку существует множество возможностей контроля доступа и разная топология сети. Чтобы узнать подробности о конфигурировании широкомасштабного сервера, обратитесь к книге Using Samba («Применение Samba», 3-е издание, O’Reilly, 2007), которая является намного более полным руководством, а также посетите сайт проекта Samba по адресу http://www.samba.org/.