Задание Root Cron не выполняет chmod

Задание Root Cron не выполняет chmod

У меня есть root cronзадание, которое создает каталог на смонтированном другом HDD, а затем с помощью rsyncя копирую все файлы из SOURCE в TARGET. Скрипт выглядит так:

 date_cmd='date +%Y_%m_%d_%H_%M_%S'
 TS_SUFFIX=`eval ${date_cmd}`
 SOURCE_DIR=/
 TARGET_DIR=/mnt/backup_hdd/system_backup_${TS_SUFFIX}

 LOG_DIR=/shared_utils/logs/backupper
 LOG_FILE=${LOG_DIR}/backupper_${TS_SUFFIX}.log

 mkdir -p ${TARGET_DIR}
 chmod 770 ${TARGET_DIR}
 rsync -a --append-verify --info=progress2 --exclude-from=${EXCLUDE_LIST} ${SOURCE_DIR} ${TARGET_DIR}

Проблема в том, что это chmod 770не меняет TARGETправа доступа к каталогу на 770. Как видите, он создан с правами доступа 755.:

drwxr-xr-x  19 root root       4096 Mar 18 11:47 system_backup_2018_03_18_17_57_01/

Моя root cronработа:

57 17 * * * umask 007; /path/to/script.sh

Как видите, перед выполнением скрипта я установил umask 007. Поэтому он терпит неудачу по двум причинам:

  1. Хотя я устанавливаю umask на 007, фактические разрешения не соответствуют ожидаемым.
  2. Хотя я явно изменяю права доступа chmod 770к TARGETкаталогу, права доступа все равно не изменяются.

Есть идеи, почему эти два случая не работают?

ОБНОВЛЯТЬ

Запуск скрипта также sudo script.shне изменяет разрешения TARGET.

решение1

Спасибо PerlDuckи Cyrusтайна раскрыта.

rsync -aсоздает каталог TARGET с теми же правами доступа, что и у SOURCE (в моем случае 755).

Связанный контент