El trabajo Root Cron no realiza chmod

El trabajo Root Cron no realiza chmod

Tengo un root crontrabajo que crea un directorio en un disco duro diferente montado y luego lo uso y rsynccopio todos los archivos de FUENTE a OBJETIVO. El guión se ve así:

 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}

El problema es que chmod 770no cambia los TARGETpermisos del directorio a 770. Como ve, se crea con permisos 755:

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

Mi root crontrabajo:

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

Como puede ver, configuré umask 007 antes de ejecutar el script. Entonces, falla en 2 frentes:

  1. Aunque estoy configurando la umask en 007, los permisos reales no son los esperados.
  2. Aunque estoy cambiando explícitamente los permisos ( chmod 770) al TARGETdirectorio, los permisos todavía no se cambian.

¿Alguna idea de por qué estos 2 casos no funcionan?

ACTUALIZAR

Ejecutar el script con sudo script.shtampoco cambia los permisos de TARGET.

Respuesta1

Gracias a PerlDucky Cyrusel misterio está resuelto.

rsync -acrea el directorio TARGET con los mismos permisos que SOURCE (en mi caso 755).

información relacionada