команда sync в linux

Linux sync command

On Unix-like operating systems, the sync command synchronizes corresponding file data in volatile memory and permanent storage. Cached writes are immediately written to disk.

This page describes the GNU/Linux version of sync.

Description

By default, the Linux kernel writes data to disk asynchronously. Writes are buffered (cached) in memory, and written to the storage device at the optimal time. The sync command forces an immediate write of all cached data to disk.

Run sync if you anticipate the system to be unstable, or the storage device to become suddenly unavailable, and you want to ensure all data is written to disk.

Individual files may be synced, or the entire filesystem containing the specified files. If no arguments are provided, all mounted file systems are synced.

This page refers to GNU sync, which is distributed with most Linux operating systems.

Syntax

Options

file &hellp; The file names of the files to sync. A single dash (««) represents the standard input file descriptor, and is treated as a file name. If no file names are specified, all mounted file systems are synced.
-d | —data Use the fdatasync system call to sync only the file data, and the minimum metadata required to maintain file system consistency.
-f | —file-system Use the syncfs system call to sync all pending I/O with the file system containing the specified files. Note, you should not use this option if specifying a device file, such as /dev/sdb. If you do, the file system containing the device file will be synced (e.g., /dev/sda, contains the root file system), when you probably intended to sync the referenced device.
—help Display a help message, and exit.
—version Display version information, and exit.
Two dashes indicate the end of options. Any subsequent arguments, including arguments that start with a dash, will be treated as file names.

Examples

Sync all cached file data of the current user.

Sync all mounted file systems.

Sync only those two files.

Sync only the file data and minimal metadata of those three files.

Sync the file system on mounted partition /dev/sdc1.

Sync all mounted file systems on device /dev/sdc.

Assuming /var/lib/mysql is a directory, sync it and all the files and subdirectories it contains.

Sync the file /var/log/syslog.

Sync the entire file system which contains /var/log/syslog.

Sync the entire file system which contains the device file /dev/sdb, which may not be /dev/sdb.

Источник

ОПИСАНИЕ
sync записывает данные, буферизованные в памяти, на диск.
Например, это могут быть измененные супер-блоки,
измененные inode, отложенные операции чтения и записи.
Буферизация должна быть реализована в ядре. Программа
sync всего лишь делает системный вызов sync(2).

Ядро хранит данные в памяти во избежание частых (обычно
медленных) дисковых операций чтения и записи. Это повышает
производительность, но если компьютер завершает работу во
внештатном режиме, то данные могут быть утеряны, либо
может быть повреждена файловая система. sync
гарантирует, что все, что хранилось в памяти, будет
записано на диск.

sync должен вызываться перед тем, как система будет
остановлена каким-то нестандартным образом (например, если
при отладке ядра возникают неразрешимые проблемы). Обычно
система останавливается при помощи команд shutdown(8),
reboot(8), либо halt(8), которые переводят систему в
неактивное состояние, прежде чем вызывать sync(2).
(Существуют различные реализации этих команд; прочтите
документацию на вашу систему; в некоторых системах нельзя
непосредственно вызывать команды reboot(8) и halt(8).)

СТАНДАРТНЫЕ ОПЦИИ GNU
—help Выводит подсказку на устройство стандартного вывода
и успешно завершает работу.

—version
Выводит информацию о версии программы на устройство
стандартного вывода и успешно завершает работу.

— Завершает список параметров.

ОКРУЖЕНИЕ
Переменные LANG, LC_ALL, LC_CTYPE и LC_MESSAGES имеют свое
обычное значение.

СООТВЕТСТВИЕ

POSIX 1003.2

ЗАМЕЧАНИЯ
В Linux sync гарантирует, что будет составлен список
«грязных» (dirty) блоков, которые нужно записать. Прежде
чем они действительно будут записаны, пройдет еще
некоторое время. Команды reboot(8) и halt(8) учитывают
это, делая паузу в несколько секунд после вызова sync(2).

Источник

A Step-By-Step Guide to Using the Linux ‘sync’ Command

Use the ‘sync’ command if you anticipate a power outage

The sync command for Linux writes any data that is buffered in the computer’s memory to disk.

Why Use the ‘sync’ Command

To improve performance, a computer often keeps data in its memory rather than write it to disk because the RAM is much faster than the hard disk. This approach is fine until there is a computer crash.

When a Linux machine experiences an unplanned shutdown, all the data that was held in memory is lost, or the file system is corrupted. The sync command forces everything in temporary memory storage to write to a persistent file storage—like a disk—so none of the data is lost.

When to Use It

Usually, computers shut down in an organized manner. If the computer halts or the processor stops in an unusual manner—such as when you’re debugging kernel code or in the event of a possible power outage—the sync command forces an immediate transfer of the data in memory to disk. Because modern computers have potentially large caches, when you use the sync command, wait until all the LEDs that indicate activity stop blinking before turning off the power on the computer.

Syntax

The command takes the following form:

Options for this command include:

Considerations

It’s not common to manually invoke sync, and when it’s run, it doesn’t return results to the standard output. Most often, people run this command before some other command that could destabilize the Linux kernel—or if you believe that something bad is about to happen, such as running out of battery power, and you don’t have time to execute a full system shutdown.

When you halt or restart the system, the operating system automatically syncs data in memory with persistent storage, as needed.

Источник

17 полезных примеров команд rsync (удаленная синхронизация) в Linux

17 полезных примеров команд rsync (удаленная синхронизация) в Linux

В этой статье мы обсудим 17 полезных примеров команды rsync в Linux, эти примеры особенно помогут новичкам в Linux более эффективно управлять задачами синхронизации, зеркалирования и резервного копирования.

Команда Rsync доступна для всех операционных систем типа UNIX и Linux. Когда мы выполняем минимальную установку CentOS и RHEL OS, тогда пакет rsync не является частью установки по умолчанию, поэтому для установки rsync на CentOS и RHEL выполните следующую команду yum

В операционных системах Debian Like (Ubuntu и Linux Mint) используйте команду ниже apt для установки инструмента rysnc

Синтаксис команды rsync:

Локальная синхронизация: # rsync

Удаленная синхронизация: # rsync@ :

Удаленная синхронизация: # rsync @ :

Некоторые из наиболее часто используемых параметров команды rsync перечислены ниже:

Давайте перейдем к полезным примерам команды rsync

Предположим, мы хотим скопировать или синхронизировать домашний каталог пользователя pkumar в папку /opt/backup выполните следующую команду rsync с параметрами -zavh,

Давайте проверим, скопирован ли каталог или нет, выполните команду ниже,

Как мы видим, каталог «pkumar» создается в папке назначения, и его содержимое также копируется. В приведенном выше примере, если использовать trail / после исходной папки(/home/pkumar/) тогда команда rsync не создаст каталог pkumar в месте назначения, а скопирует только содержимое..

Пример: 4) Копирование или синхронизация файлов и каталогов из локальной в удаленную систему.

Предположим, мы хотим скопировать папку “/home/pkumar/techi” с локальной машины на удаленную (192.168.1.29) /opt

Пример: 5) Копирование или синхронизация файлов и каталогов с удаленного компьютера в локальную систему.

Предположим, мы хотим скопировать файлы и каталоги с удаленного компьютера (192.168.1.29) в нашу локальную систему, в приведенном ниже примере я копирую удаленную папку “/opt/rpms_db” на моем локальном компьютере в папку /tmp

Вышеуказанная команда автоматически создаст папку “rpms_db” в папке /tmp на нашем локальном компьютере

В команде rsync мы можем указать удаленную оболочку, например ssh, во время синхронизации, предположим, что мы хотим использовать безопасную связь между источником и целевой машиной через rsync, тогда мы должны использовать ssh в качестве удаленной оболочки, пример показан ниже

Пример: 7) Отображение хода синхронизации в выводе команды rsync

Если вы хотите видеть прогресс синхронизации или копирования в команде rsync, используйте “–progress“, пример показан ниже.

Пример: 8) Скопируйте структуру каталогов без копирования файлов

Есть несколько сценариев, когда мы хотим скопировать структуру каталогов, пропуская файлы только с локального компьютера на удаленный или наоборот.

Предположим, мы хотим скопировать структуру каталогов “/home/pkumar” с локального компьютера на удаленный (192.168.1.29) в папку /opt folder.

Пример: 9) Возобновить передачу больших файлов после сбоя в scp

В профиле администратора linux есть несколько сценариев, когда мы начали копировать файл большего размера с помощью команды scp, но он прервался в середине, и мы не можем позволить себе начать копирование его снова с помощью scp из-за его большого размера и затрат времени.

Таким образом, в этой ситуации можно использовать команду rsync, поскольку она может начать копирование файла с того места, где оно было остановлено или завершено, или, другими словами, rsync может передавать файлы, которые частично скопированы с помощью команды scp. Пример показан ниже,

Пример: 10) Удалить файлы в месте назначения, если его нет в источнике (–delete)

Если вы уже синхронизировали файлы из источника в место назначения и из источника вы удалили файлы, вы можете заставить команду rsync удалить файлы в месте назначения, используя параметр –delete, пример показан ниже

Пример: 11) Установите ограничение на размер передаваемого файла (–max-size)

Если вы не хотите передавать или копировать большие файлы с помощью rsync, используйте опцию ‘–max-size=, Предположим, мы не хотим передавать файлы, чьи размер больше 500К,

Примечание. Чтобы указать размер в МБ, используйте M, а для ГБ — G

Пример: 12) Не синхронизировать/копировать измененный файл в месте назначения

Есть несколько сценариев, в которых мы изменили файлы в месте назначения, и мы не хотим перезаписывать измененные файлы из источника во время синхронизации, поэтому этого можно легко достичь с помощью параметра -u в команде rsync.

Пример: 13) Удалить файлы из источника после синхронизации (–remove-source-files)

Предположим, вы хотите удалить файлы из источника после завершения синхронизации с помощью команды rsync. В приведенном ниже примере папка из локальной системы “/home/pkumar/techi.tgz” синхронизируется с удаленной системой (192.168.1.29), после завершения синхронизации файл удаляется из источника.

Пример: 14) Команда rsync пробного запуска перед фактической синхронизацией

Могут быть ситуации, когда мы не говорим о поведении команды rsync, поэтому в таких случаях лучше выполнить пробный запуск rsync.

Пример: 15) Включить и исключить файлы во время синхронизации с rsync

Бывают ситуации, когда мы хотим скопировать или синхронизировать файлы и каталоги определенного типа и хотим исключить файлы или каталоги определенного типа. Команда Rsync поддерживает параметры включения и исключения.

В приведенном ниже примере вы хотите скопировать файлы типа pdf и rpm и исключить типы файлов png.

Пример: 16) Установите ограничение на скорость передачи данных в rsync(–bwlimit= )

В команде rsync мы можем установить ограничение полосы пропускания для передачи данных с одной машины на другую, используйте параметр‘–bwlimit= ‘ в команде rsync, чтобы установить ограничение на скорость передачи данных.

Предположим, мы хотим установить максимальную скорость передачи данных (скорость) 600 КБ / с с помощью rsync, пример показан ниже.

Пример: 17) Просмотр разницы в файлах и каталогах между источником и местом назначения

Используйте параметр “-i” в команде rsync, чтобы указать разницу в файлах и каталогах между источником и местом назначения. Пример показан ниже

Согласно вышеприведенному выводу команды, есть разница в файле с именем «projects.txt» в месте назначения. Ниже приведены значения ключевых слов в выводе выше.

Вот и все из этого руководства, на случай, если эти примеры помогут вам лучше понять команду rsync, тогда, пожалуйста, поделитесь своими отзывами и комментариями.

Источник

Команда Rsync в Linux с примерами

rsync — это быстрая и универсальная утилита командной строки для синхронизации файлов и каталогов между двумя местоположениями через удаленную оболочку или с / на удаленный демон Rsync. Он обеспечивает быструю инкрементную передачу файлов, передавая только различия между источником и местом назначения.

Установка Rsync

Установите Rsync в Ubuntu и Debian

Установите Rsync на CentOS и Fedora

Синтаксис команды Rsync

Выражения утилиты rsync имеют следующую форму:

rsync предоставляет ряд параметров, управляющих поведением команды. Наиболее широко используемые варианты:

Базовое использование Rsync

Самый простой вариант использования rsync — это копирование одного файла из одного в другое локальное расположение. Вот пример:

Пользователь, выполняющий команду, должен иметь разрешения на чтение в исходном местоположении и разрешения на запись в месте назначения.

Если пропустить имя файла из места назначения, файл будет скопирован с текущим именем. Если вы хотите сохранить файл под другим именем, укажите новое имя в целевой части:

Настоящая мощь rsync проявляется в синхронизации каталогов. В приведенном ниже примере показано, как создать локальную резервную копию файлов веб-сайта:

Если целевой каталог не существует, rsync создаст его.

Стоит отметить, что rsync разному обрабатывает исходные каталоги с помощью завершающей косой черты ( / ). Если исходный каталог имеет косую черту в конце, команда скопирует только содержимое каталога в целевой каталог. Если косая черта в конце опущена, rsync копирует исходный каталог в целевой каталог.

Использование rsync для синхронизации данных с / на удаленную машину

При использовании rsync для удаленной передачи данных его необходимо установить как на исходном, так и на целевом компьютере. Новые версии rsync настроены на использование SSH в качестве удаленной оболочки по умолчанию.

В следующем примере мы переносим каталог с локального компьютера на удаленный:

Чтобы передать данные с удаленного компьютера на локальный, используйте удаленное местоположение в качестве источника:

Исключить файлы и каталоги

При исключении файлов или каталогов необходимо использовать их относительные пути к исходному местоположению.

В следующем примере показано, как исключить node_modules и tmp :

Выводы

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Команда sudo в linux означает что
  • команда sudo mac os
  • команда subst в windows 10
  • команда stat в linux
  • команда source в windows

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии