Настроить linux для синхронизации времени
Если на вашей машине установлены Ubuntu и Windows, вы замечаете, что время «скачет» после перезагрузки из одной системы в другую. Сегодня мы расскажем, как исправить это.
Такой конфликт во времени между Windows и Ubuntu происходит из-за того, что по умолчанию Ubuntu хранит время в аппаратных часах в виде универсального скоординированного времени (UTC), а Microsoft Windows хранит время в локальном часовом поясе. Таким образом, при переключении между Ubuntu и Windows время показывается по-разному.
Исправить эту проблему достаточно просто, как из Ubuntu, так и из Windows.
Пользовательское форматирование даты
-d Опция позволяет работать на дату конкретного. Вы можете указать дату в виде удобочитаемой строки даты, как показано ниже:
Использование пользовательского форматирования:
Строка даты принимает значения, такие как «завтра», «пятница», «последняя пятница», «следующая пятница», «следующий месяц», «следующая неделя» .. и т. Д.
Вы также можете использовать параметр строки даты, чтобы показать местное время для разных часовых поясов. Например, чтобы показать местное время 6:30 утра следующего понедельника на восточном побережье Австралии, введите:
4 способа передачи файлов из Windows в Linux
Перенос данных между операционными системами Windows и Linux проще, чем вы думаете. Мы собрали пять способов сделать это:
- Поделиться сетевыми папками
- Передача файлов с FTP
- Безопасное копирование файлов через SSH
- Обмен данными с помощью программного обеспечения для синхронизации
С помощью каждого из этих методов вы сможете легко (а в некоторых случаях легко) перемещать файлы между операционными системами.
Давайте посмотрим на них по очереди и выясним, какой из них подходит вам больше всего.
1. Совместное использование сетевых папок между Linux и Windows
Наиболее очевидный способ обмена файлами между Linux и Windows — это использование сетевых ресурсов. Этот термин относится к папкам на одном ПК, которые доступны пользователям на других компьютерах. В сети только для Windows это легко настроить. Добавление устройства Linux немного усложняет ситуацию, хотя это можно преодолеть.
Начиная с Windows, щелкните правой кнопкой мыши значок сетевого подключения на панели задач и выберите «Открыть сеть и настройки Интернета». Далее нажмите «Параметры общего доступа» и включите текущий профиль.
- Включить обнаружение сети
- Включите общий доступ к файлам и принтерам
Нажмите «Сохранить изменения» для подтверждения, затем перейдите в папку, содержащую файлы, которыми вы хотите поделиться. Щелкните правой кнопкой мыши папку, выберите «Свойства» и откройте вкладку «Общий доступ». Здесь нажмите «Расширенный общий доступ», затем установите флажок «Поделиться этой папкой».
Вы можете управлять доступом к папке через разрешения; это относится к локальным пользователям Windows, а не к сетевым устройствам.
Нажмите OK, чтобы подтвердить изменение, затем откройте вкладку Безопасность в Свойствах. Настройте это, чтобы отразить настройки в поле Полномочия ранее. Вам не нужно делать слишком много здесь, так как Windows 10 должна включать группу под названием Authenticated Users. Это используется для удаленного доступа к вашему компьютеру.
Снова нажмите ОК, когда вы закончите.
Чтобы найти общий ресурс Windows на ПК с Linux, просто откройте браузер файлов и выберите «Сеть». Отсюда перейдите к папке, размещенной в Windows, и начните обмен данными.
Доступ к общему ресурсу Linux из Windows
Чтобы переместить данные в другом направлении, вам нужно установить Samba на ваш компьютер с Linux.
Затем установите имя пользователя для общего ресурса samba.
Вам будет предложено ввести пароль для новой учетной записи (не используйте для этого «имя пользователя»!).
Затем создайте каталог для обмена данными.
Затем отредактируйте файл smb.conf в своем текстовом редакторе:
Добавьте следующее в конец файла конфигурации:
Внесите необходимые изменения в соответствии со своими потребностями, затем нажмите Ctrl + X, чтобы выйти, и нажмите Y, чтобы сохранить. Далее перезапустите Samba:
После этого вы сможете получить доступ к общему ресурсу из Windows. Откройте проводник или браузер и введите IP-адрес или имя хоста удаленного устройства Linux, а затем имя папки. В нашем примере это
2. Скопируйте файлы через SSH из Windows в Linux
С включенным SSH на вашем устройстве Linux вы можете отправлять данные через командную строку с одного компьютера на другой. Однако, чтобы это работало, вам нужно настроить SSH-сервер на вашем Linux-компьютере.
Начните с открытия терминала и обновления и обновления ОС.
После завершения установите сервер SSH. Сервер OpenSSH — хороший вариант.
Подождите, пока он установит. Чтобы в любой момент проверить, работает ли сервер OpenSSH, используйте
Для передачи данных из Windows используйте SSH-клиент, например PuTTY. Это требует загрузки инструмента PSCP в вашу систему Windows для запуска вместе с PuTTY. Найти оба на домашней странице PuTTY.
Обратите внимание, что в то время как PuTTY нужно будет установить, PSCP — нет. Однако его следует сохранить в корне диска C: или настроить как переменную среды. Вам также необходимо подтвердить IP-адрес устройства Linux. Отметьте это на коробке с
После установления соединения вы можете отправлять данные следующим образом:
Перед началом передачи вам будет предложено ввести пароль для компьютера с Linux.
Хотите скопировать данные из Linux в Windows в одном сеансе SSH? Эта команда загрузит указанный файл в текущий каталог:
Обратите внимание на одиночный период в конце — включите его, иначе перевод не будет работать.
3. Как перенести файлы из Linux в Windows, используя FTP
Можно также использовать приложение протокола передачи файлов (FTP) с поддержкой SSH. Передача файлов через SFTP в пользовательском интерфейсе, управляемом мышью, возможно, проще, чем полагаться на набранные команды.
Опять же, сервер SSH должен быть запущен на компьютере с Linux перед началом работы. Вы также должны убедиться, что вы установили приложение FTP, такое как FileZilla, которое поддерживает SFTP.
Чтобы использовать этот метод, запустите FileZilla, затем откройте Файл → Менеджер сайтов. Создайте новый сайт, заботясь о том, чтобы установить протокол на SFTP. Добавьте целевой IP-адрес в Host, затем имя пользователя и пароль, установив тип входа в систему как Нормальный.
Нажмите Готово, когда будете готовы, затем используйте интерфейс FTP для перетаскивания файлов между двумя компьютерами.
4. Делитесь файлами между Linux и Windows с помощью Resilio Sync
Другим вариантом, который вы должны рассмотреть, является программа синхронизации файлов. Обычно они кроссплатформенные и используют зашифрованный ключ для управления соединением между устройствами.
Все, что вам нужно сделать, это установить приложение, назначить папку синхронизации, а затем создать ключ. Установите это на втором ПК, и ваши данные будут синхронизированы. Для этого есть два хороших варианта:
- Resilio Sync: ранее известная как BitTorrent Sync, Resilio доступна практически на любой платформе, о которой вы только можете подумать. Есть платная версия, но бесплатного варианта достаточно для синхронизации двух устройств.
- SyncThing: для Linux, Windows, macOS и Android эта альтернатива Resilio Sync предлагает аналогичную функцию без платного компонента.
Совместное использование файлов между Windows и Linux очень просто
Если вы новичок в Linux, или вы находите Windows незнакомой, обмен данными между ними проще, чем вы думаете.
Мы рассмотрели несколько методов. Мы рекомендуем вам попробовать все из них и решить, какой из них вам наиболее удобен.
yay, пакетный менеджер AUR
До этого момента я набирал текст в vim . Люблю этот редактор, но из — за того, что редко пользуюсь, приходится все время заново обучаться его фишкам. Поэтому для ускорения процесса настройки + написания статей уж очень хочется привычный sublime . Но увы его нет в репозиториях арча. И Вы наверняка уже слышали об AUR, пользовательских репозиториях. Работать с ними можно без всяких утилит, но упрощают процесс скачивания и сборки пакетные менеджеры для AUR, каковым является yay . yay написан на go, популярен стал после того, как загнулся yaourt , звучит и коротко пишется. К тому же у него свободная лицензия GPL-3.0. Поэтому это мой выбор) Установим свободный yay , и затем несвободный, проприетарный sublime . Инструкцию по установке yay можно взять с репозитория на github https://github.com/Jguer/yay
Установка yay
yay еще прекрасен тем, что интерфейс использования схож с pacman.
Найдем пакет sublime в AUR, выберем подходящий, и установим
Установка sublime
yay заботливо склонирует за нас и соберет программу.
В системе по умолчанию не будет работать звук. Установим звуковой сервер
а также (на будущее) графическую утилиту для настройки звука pavucontrol
Rsync — копирование и синхронизация файлов с удаленным сервером
Утилиту Rsync можно использовать для копирования и синхронизации файлов и папок с локального сервера Linux на удаленный и наоборот. Rsync позволяет копировать ваши данные между серверами внутри защищенного SSH соединения. Так же, rsync, поддерживает сжатие данных на лету, что повышает производительность системы.
Чтобы исключить потерю информации при отправке файлов, rsync сначала копирует всю передаваемую информацию во временный файл. Другая важная особенность rsync – файлы передаются в один поток, не создается отдельный поток для каждого файла (что вызывает проблему при передаче большого количества маленьких файлов в других утилитах).
В данной статье мы рассмотрим варианты использования rsync для синхронизации и копирования каталогов и файлов, и приведем примеры его расширенных настроек.
Установка и основные параметр rsync
Установка rsync не отличается от установки, любого другого пакета. В CentOS пакет rsync присутствует в базовом репозитории и устанавливается через yum (или dnf в CentOS 8):
rsync уже установлен в системе
Синтаксис команды выглядит следующим образом:
В качестве источника и приемника можно указать локальную или удаленную директорию на другом сервере.
- -v – вывести подробную информацию о процессе
- -c – проверка контрольных сумм файлов
- -q – минимальная информация
- -a – режим архивирования
- -R – относительные пути
- -y – не перезаписывать более новые файлы
- -b – создание резервной копии
- -l – копировать симлинки
- -L – копировать содержимое ссылок
- -H – копировать жесткие ссылки
- -g – сохранять группу
- -p – сохранять права для файлов
- -t – сохранять время модификаций
- -x – работать только в этой ФС
- -e – использовать другой транспортный протокол (например, ssh)
- -z – сжимать файлы перед передачей
- -delete – удалять файлы которых нет в источнике
- -exclude – исключить файлы
- -recursive – перебирать директории рекурсивно
- -no-recursive – отключить рекурсию
- -progress – выводить прогресс передачи файлов
- -stat – показать статистику передачи
- -max-size – максимальный размер файла для передачи
- -bwlimit — ограничение скорости для передачи файлов
- -version – версия утилиты
Локальное копирование/синхронизация каталогов
Rsync можно использовать для копирования файлов между локальными директориями сервера. Если вам нужно скопировать файлы из одной директории в другую, выполните команду:
В этом случае файл test.txt был просто скопирован в директорию /root/temp/
Можно добавить несколько опций для выполнения копирования. Например, чтобы перед выполнением копирования предварительно сжать файл, вывести подробную информацию и прогресс копирования файла, выполните:
Мы можем использовать rsync для синхронизации содержимого локальных каталогов. Например, rsync удобно использовать, когда вам требуется скопировать файлы из рабочей директории, на хранилище, которое примонтировано к какому-то разделу.
Мы скопировали директорию /root/.config в директорию для резервных копий, опция -r позволила рекурсивно скопировать все вложенные директории и файлы.
Чтобы сохранить все атрибуты файлов при копировании, например, дату изменения и дату создания файлов, добавьте ключ -a:
Если вы хотите скопировать только измененные файлы, добавьте опцию -c:
Я изменил только один файл и запустил команду. В результате в целевую директорию, был скопирован только измененный файл.
Настройка синхронизации с удаленным сервером
Чаще всего копирование/синхронизация rsync с удаленным сервером используется для резервного копирования или синхронизации конфигурации нод кластера. Можно выполнять автоматическую синхронизацию данных с рабочего сервера на резервный, и в случае проблем на продуктивном севере быстро все перевести на резервный. Это довольно удобный и простой в настройке вариант.
В современных версиях rsync протокол SSH используется для передачи файлов по-умолчанию. Однако вы можете использовать и демон rsyncd. Для этого клиент rsync должен быть установлен на удаленном компьютере, и его демон добавлен в автозагрузку:
Конфигурационный файл rsync — /etc/rsyncd.conf. В этом файле можно настроить параметры rsync и настройки для синхронизации для разных ресурсов.
Для синхронизации через демона rsync адрес удаленного сервера указывается так rsync://. Например:
Чтобы скопировать файл на удаленный сервер, используйте команду:
После запуска команды, удаленный сервер запросит пароль пользователя (если включена авторизация по паролю). Для автоматической авотризации нужно настроить SSH ключи.
Скопируем директорию с локального сервера на удаленный:
То есть, все тоже самое, что и с локальными директориями, только мы указываем адрес удаленного сервера.
Так же вы можете синхронизировать файлы и с удаленного сервера на локальный, команда для этого немного изменится:
Для принудительного использования SSH протокола для копирования файлов, укажите это в вашей команде (для выбора транспортного протокола копирования файлов используется опция –e):
Если удаленный SSH сервер имеет отличный от стандартного порт, его так же можно указать:
Другие примеры использования rsync
Если в рамках сессии синхронизации вы передаете много информации и важно ограничить скорость передачи, задайте это дополнительной опцией –bwlimit (указывается скорость в КБ/с):
При передаче файлов на удаленный сервер, вы можете ограничить максимальный размер файлов, которые нужно скопировать. Например, вы хотите скопировать все файлы, кроме файлов размером более 1 Мб:
Если у вас на сервере нужна односторонняя синхронизация и после переноса файлов на удаленный сервер нужно удалить файлы с исходного сервера, воспользуйтесь опцией -remove-source-files:
После выполнения команды, файл был скопирован на удаленный сервер и удален на источнике.
Так же очень удобный опции —include и —exclude, с помощью этих опций, можно делать исключения по копированию директорий или файлов:
В данном случае мы исключили директорию “administrator” при копировании на удаленный сервер.
Добавлением опции —include мы смогли задать фильтр по файлам, скопировали только файлы с расширением php.
Резервное копирование в Linux с помощью rsync
В своей рабое я часть использую rsync для автоматических задач резервного копирования в Linux. Можно написать простые bash скрипты или просто добавить команду rsync в cron и выполнять по расписанию.
Например, можно добавить в cron команду:
01 30 * * * rsync -zvra root@192.168.1.1:/backup/ /backup
В результате каждый день в 1:30 ночи, будет выполняться синхронизация каталогов локального и удаленного серверов.
Стоит учесть, что для выполнения команды rsync на удаленном сервер через cron, желательно настроить авторизацию серверов по SSH ключу. Примеры скриптов для бэкапа, мы приводили в статье «Скрипты для бэкапа файлов из Linux в облако», там как раз используется rsync для копирования файлов в подключенные облачные хранилища.
Резервное копирование
Для резервного копирования выбор достаточно прост. Где-то достаточно rsync + tar (синхронизации и сжатия), а где-то требуется Bacula/Bareos.
В резервном копировании есть достаточно хорошие проприетарные решения, например, «Veeam backup». Если вы используете виртуализацию VMWare, то здесь Veeam упрощает резервное копирование и предоставляет поддержку.
Также в своих решениях мы используем резервное копирование для /etc директории — etckeeper. Он позволяет автоматизировать сохранение содержимого каталога /etc в хранилище системы контроля версий (VCS), отслеживает, когда ваш пакетный менеджер сохраняет изменения в /etc при установке или обновлении пакетов.
Помещение /etc под контроль версий сейчас рассматривается как лучшая практика в индустрии. Преимуществом etckeeper является то, что он делает этот процесс безболезненным, насколько это возможно, и удобным. При наличии незакоммиченных изменений etckeeper будет ежедневно их сохранять, если это не отключено, и отправлять в централизованный репозиторий.
Иногда случается так, что подготовленный к установке/обновлению пакет программ может перезаписать существующие файлы в /etc , т.к. некоторые заказчики пользуются сторонними службами/пакетами. Etckeeper умеет фиксировать конфигурацию перед установкой пакетов и после, что значительно облегчает работу.
Как установить и настроить Syncthing
Я думаю, что каждый человек который проводит хоть какое-то время за компьютером, хоть раз, но сталкивался с проблемой передачи файлов между разными устройствами, либо подвидом этой ситуации когда необходимо сделать какой-то файл доступным нескольким пользователям на разных устройствах. Ну, а те, чья работа так или иначе связана с компьютерами, сталкиваются с этой проблемой постоянно, особенно если ты работаешь не сам-один за одним компьютером, а например в коллективе и передавать файлы друг-другу нужно постоянно, какие-то файлы нужно расшарить для всех ну и так далее, то они знают об этой проблеме не по наслышке. И понятное дело, что каждый решает эту задачу по своему. Ну, а я хочу поделиться информацией как эту проблему я решил для себя, причём на мой субъективный взгляд, это лучший способ.
И конечно же я знаю про всякие Dropbox, Google Drive, Resilio Sync и, более того, я даже слышал, что в Windows можно настроить общий доступ к файлам и каталогам. Только вот всё это мне не нравятся. Google Drive, например, неплох как личное облачное хранилище, но совсем не справляется когда необходимо наладить взаимодействие между несколькими пользователями, Dropbox справляется вроде бы неплохо и в использовании удобен, вот только бесплатный тариф ограничен двумя гигабайтами пространства и тремя подключенными устройствами, а платить по 10 баксов в месяц за тариф plus, мне не охота. Ну, а про стандартные средства Windows я и упоминать не буду, о них, как известно, либо хорошо либо никак. В общем, в процессе поисков, было найдено, как мне кажется, идеальное решение — это Syncthing. Он бесплатный, прост в настройке, при этом имеет довольно обширные возможности, он безопасен — данные передаются в зашифрованном виде. Работает на любой операционной системе, есть приложение для Android, авторы также обещают сделать приложение для iOS, а ещё он выполняет синхронизацию по схеме P2P, это означает, что для передачи файл разбивается на части, и если какие-то части файла есть на других нодах, то они тоже будет участвовать в передаче.
И чтобы показать его настройку более наглядно мы установим его на Ubuntu и на Windows.
Установка Syncthing на Ubuntu.
Для начала создадим pgp-ключ, добавим нужный репозиторий и установим программу:
После установки запускаем программу (если есть необходимость можно добавить в автозагрузку) и в браузере переходим по адресу http://127.0.0.1:8384, это веб-интерфейс программы. Все основные настройки интуитивно понятный, пройдёмся по ключевым.
Настройка Syncthing
В правом верхнем углу нажимаем «Действий» и в появившемся меню выбираем «Настройки», в появившейся вкладке задаём имя нашего устройства, под которым нас будут видеть другие пользователи, и путь куда мы хотим поместить общие папки.
Во вкладке «Интерфейс» задаём имя пользователя и пароль.
Во вкладке «Подключения» в графе «Адрес протокола синхронизации» будет стоять значение «default», это означает, что будет использоваться адрес tcp://0.0.0.0 и порт 22000, можно оставить без изменения или можно вписать ip нашего компьютера (можно вписывать как частный так и внешний ip). И в этой же вкладке, если нужно, выставляем ограничения по скорости.
Закрываем окно настроек и переходим к созданию общих папок. Для начала можем удалить созданную автоматически программой папку и нажав «Добавить паку» насоздавать нужное количество папок, одновременно настраивая параметры каждой папки по своему желанию и потребностям.
Установка и настройка Syncthing в Windows
Чтобы установить Syncthing в Windows качаем exe-шник здесь: https://github.com/canton7/SyncTrayzor и, естественно устанавливаем, ну или качаем portabe-версию, тогда не устанавливаем. После запуска откроется графический интерфейс программы, который по внешнему виду, да и по настройкам, никак не отличается от того что в Linux, настраиваем всё по аналогии и пришло время подружить наши компьютеры. Для этого нужно на главный компьютер передать ID других компьютеров, и подобавлять их на главном, в самой программе. Для этого в программе на Windows нажимаем Действия — Показать ID, копируем его и уже в Linux нажимаем «Добавить удалённое устройство» и вводим ID, одновременно указывая к каким папкам мы хотим дать доступ. Когда мы сохраним изменения произойдет синхронизация файлов и папок.
Не менее просто можно подключить мобильный телефон. С Play Market качаем приложение Syncthing, синхронизируем с компьютером, для удобства можно использовать QR-код, и расшариваем доступ, например к галереи, и спокойно получаем доступ к своим фоточкам с телефона на компьютере.
А теперь можешь удалить Dropbox или что ты там используешь и наслаждаться использованием Syncthing. И не забывать возвращаться к нам, что бы узнать про другие крутые приложения.