Как ускорить rsync, предварительно проверив размер папки

Если вы хотите указать mail.branchcompany.comв качестве альтернативного почтового сервера для example.com(, т.е. для адресов электронной почты вида Some.Name@example.com ), вы можете сделать это таким образом в зоне example.comфайл (все имена записаны в явной длинной форме):

example.com. IN MX 1 mail.example.com.
example.com. IN MX 2 mail.branchcompany.com.

mail.example.com. IN A 10.1.1.9

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

Если вы ссылаетесь на mail.branchcompany.com в файле зоны example.com, то имя mail.branchcompany.com может отображаться только в правой части записей.

Вы не объявляете IP-адрес mail.branchcompany.com в файле зоны example.com. :Вся информация об именах branchcompany.com будет запрашиваться из зоны branchcompany.com на DNS-серверах, уполномоченных для branchcompany..ком.Такая информация о зоне -из -в зоне example.com будет использоваться только клиентами, которые настроены на использование этого конкретного сервера в качестве своего преобразователя.

Кроме того, поскольку файл зоны example.com не всегда доступен для администратора DNS Branchcompany.com, любые записи Branchcompany.com в файле зоны example.com могут выйти из -из -синхронизации. с реальностью. Вот почему современные DNS-серверы обычно обрабатывают такие записи зоны -из -как ошибки.


Кроме того, следует очень внимательно относиться к наличию/отсутствию точки в конце DNS-имен в файлах зон. Ваш пример

@       IN    NS      @
mail    IN    A      10.1.1.9
        IN    MX 1   mail.example.com

будет (со значением по умолчанию $ORIGIN, также известным как @, определенным директивой zone), расширенным до:

example.com.      IN NS example.com.
mail.example.com. IN A  10.1.1.9
mail.example.com. IN MX 1 mail.example.com.example.com.

Обратите внимание на последнюю строку :, так как она не имеет завершающей точки, добавляется исходная точка по умолчанию.

Аналогично, эта строка

branchcompany.com  IN MX 1 mail.branchcompany.com

в том же файле зоны будет интерпретироваться следующим образом:

branchcompany.com.example.com. IN MX 1 mail.branchcompany.com.example.com.

Другими словами, «адреса электронной почты вида Some.Name@branchcompany.com.example.com обрабатываются почтовым сервером mail.branchcompany.com.example.com». Скорее всего не то, что вы имели в виду!

0
02.02.2020, 00:41
1 ответ

Вы можете проверить размер с помощью duи затем сравнить их:

#!/bin/sh

pic_source_dir="/Volumes/Backup Plus/photo/"
pic_dest_dir="/Volumes/My Passport/photo/"

vid_source_dir="/Volumes/Backup Plus/video"
vid_dest_dir="/Volumes/My Passport/video"

if [ "$(du "$pic_source_dir")" -ne "$(du "$pic_dest_dir")" ]; then
    rsync -a --delete "$pic_source_dir" "$pic_dest_dir"
fi

if [ "$(du $vid_source_dir)" -ne "$(du "$vid_dest_dir")" ]; then
    rsync -a --delete "$vid_source_dir" "$vid_dest_dir"
fi

Если ваша оболочка на самом деле является bash (, которая является ), в частности, bash, которая может поддерживать ассоциативные массивы (, которой bash по умолчанию на macos не является ), вы можете очистить ее. немного:

#!/usr/bin/env bash

declare -A backup_dirs

backup_dirs=(
    ["/Volumes/Backup Plus/photo/"]="/Volumes/My Passport/photo/"
    ["/Volumes/Backup Plus/video"]="/Volumes/My Passport/video"
)

for src in "${!backup_dirs[@]}"; do
    dst="${backup_dirs["$src"]}"
    if [[ "$(du "$src")" -ne "$(du "$dst")" ]]; then
        rsync -a --delete "$src" "$dst"
    fi
done

Используя bash v3.2 из macos, вы все еще можете немного почистить его, используя косвенное расширение переменных:

#!/bin/bash

pic_src="/Volumes/Backup Plus/photo/"
pic_dst="/Volumes/My Passport/photo/"

vid_src="/Volumes/Backup Plus/video"
vid_dst="/Volumes/My Passport/video"

for i in pic vid; do
    t1="${i}_src"
    t2="${i}_dst"
    src=${!t1}
    dst=${!t2}
    if [[ "$(du "$src")" -ne "$(du "$dst")" ]]; then
        rsync -a --delete "$src" "$dst"
    fi
done
0
28.04.2021, 23:24

Теги

Похожие вопросы