Android

Paano ibukod ang mga file at direktoryo na may rsync

Automate Backup in Linux Using RSYNC & Crontab | Backup Data On Remote Server Using RSYNC

Automate Backup in Linux Using RSYNC & Crontab | Backup Data On Remote Server Using RSYNC

Talaan ng mga Nilalaman:

Anonim

Ang Rsync ay isang mabilis at maraming nalalaman utility line utility na nag-synchronize ng mga file at folder sa pagitan ng dalawang lokasyon sa isang malayuang shell.

Sa Rsync maaari mong salamin ang data, lumikha ng mga backup na backup at kopyahin ang mga file sa pagitan ng mga system. Kapag kinokopya ang data, maaaring nais mong ibukod ang isa o higit pang mga file o direktoryo batay sa kanilang pangalan o lokasyon.

Sa tutorial na ito, ipapakita namin sa iyo kung paano ibukod ang mga file at direktoryo na may rsync.

Bago ka magsimula

Dapat kang magkaroon ng isang pangunahing kaalaman sa kung paano gumagana ang rsync.

Sa mga halimbawa sa ibaba, gagamitin namin ang rsync na may -a , opsyon. Sinasabi nito ang rsync na i-sync ang mga direktoryo, ilipat ang mga espesyal at block aparato at mapanatili ang mga simbolikong link, oras ng pagbabago, pangkat, pagmamay-ari, at pahintulot.

Kapag hindi kasama ang mga file o direktoryo kailangan mong gamitin ang kanilang mga kamag-anak na landas sa direktoryo ng mapagkukunan.

Mayroong dalawang mga pagpipilian upang tukuyin ang mga file at direktoryo na nais mong ibukod:

  • Mula sa isang linya ng utos, gamit ang --exclude option.Mula sa isang file, gamit ang --exclude-from pagpipilian.

Ibukod ang isang Tiyak na File

Upang ibukod ang isang tukoy na file, ipasa ang kamag-anak na landas sa file sa pagpipilian na --exclude .

Sa sumusunod na halimbawa ang file src_directory/file.txt ay hindi maililipat:

rsync -a --exclude 'file.txt' src_directory/ dst_directory/

Ibukod ang isang Tukoy na Directory

Ang pagbubukod ng isang tukoy na direktoryo ay pareho sa pagbubukod ng isang file, ipasa lamang ang kamag-anak na landas sa direktoryo sa pagpipilian na --exclude tulad ng ipinakita sa ibaba:

rsync -a --exclude 'dir1' src_directory/ dst_directory/

rsync -a --exclude 'dir1/*' src_directory/ dst_directory/

Ibukod ang Maramihang Mga File o Direktoryo

Upang ibukod ang maraming mga file o direktoryo na tukuyin lamang ang maramihang mga pagpipilian - --exclude :

rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/

rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/

Kung ang bilang ng mga file at / o mga direktoryo na nais mong ibukod ay malaki, sa halip na gumamit ng maramihang - --exclude pagpipilian maaari mong tukuyin ang mga file at direktoryo na nais mong ibukod sa isang file at ipasa ang file sa --exclude-from pagpipilian.

Ang utos sa ibaba ay eksaktong katulad ng sa itaas:

rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/ ibukod-file.txt

file1.txt dir1/* dir2

Ibukod ang Maramihang Mga File o Mga Direktoryo Batay sa isang pattern

Sa rsync maaari mo ring ibukod ang mga file at direktoryo batay sa isang pattern na tumutugma sa pangalan ng file o direktoryo.

Halimbawa, upang ibukod ang lahat ng mga file .jpg nais mong patakbuhin:

rsync -a --exclude '*.jpg*' src_directory/ dst_directory/

Ito ay maliit na trickier upang ibukod ang lahat ng iba pang mga file at direktoryo maliban sa mga tumutugma sa isang tiyak na pattern. Sabihin nating nais mong ibukod ang lahat ng iba pang mga file at direktoryo maliban sa mga file na nagtatapos sa .jpg .

Ang isang pagpipilian ay ang paggamit ng sumusunod na utos:

rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/

Kapag gumagamit ng maramihang isama / ibukod ang pagpipilian, naaangkop ang unang patakaran sa pagtutugma.

  • --include='*.jpg' - Una kasama namin ang lahat ng mga file .jpg . --include='*/' - Pagkatapos ay kasama namin ang lahat ng mga direktoryo sa loob ng direktoryo ng src_directory . Kung wala ang rsync na ito ay makopya lamang. *.jpg File ng file sa tuktok na direktoryo ng antas. -m - Tinatanggal ang mga walang laman na direktoryo.

Ang isa pang pagpipilian ay upang i-pipe ang output ng find command upang rsync:

find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/

  • -printf %P\\0\\n - aalisin ang src_directory/ mula sa landas ng file. --files-from=- - nangangahulugang isama lamang ang mga file mula sa karaniwang input (mga file na naipasa mula sa utos ng find).

Konklusyon

Sa tutorial na ito, nalaman mo kung paano ibukod ang mga file at direktoryo kapag naglilipat ng data kasama ang Rsync. Marami pa upang malaman ang tungkol sa Rsync sa Manu-manong pahina ng Manwal ng Rsync.

rsync terminal