#bash #file-permissions
#bash #файл-разрешения
Вопрос:
У меня есть скрипт для резервного копирования базы данных mysql. Однако я хотел бы установить права доступа к файлам на 755. Я сделал это в скрипте, но он выводит сообщение. Часть скрипта приведена ниже
FILE="$BACKUPDIR/$NOW-$db.gz";
echo "BACKING UP $db";
$MYSQLDUMP --add-drop-database --opt --lock-all-tables --set-gtid-purged=OFF -u $MUSER -p$MPASS -h $MHOST -P $MPORT $db | gzip > $FILE
# change permissions on file
chmod 755 $FILE
Сообщение, которое я получаю, это;
chmod: missing operand after ‘755’
Есть идеи?
Комментарии:
1. Если chmod жалуется, что ему не хватает операнта, это означает, что
$file
он не был установлен. Выведите"$file"
переменную непосредственно перед командой chmod и посмотрите, что произойдет
Ответ №1:
Я бы предположил, что значение $FILE пустое или что-то отличное от того, что вы ожидаете.
Выведите значение $FILE в вашем скрипте, чтобы подтвердить, что оно имеет ожидаемое значение.
Вы должны использовать
chmod 755 "${FILE}"
чтобы избежать проблем с пробелами / странными символами в имени файла
Комментарии:
1. Я все еще получаю то же сообщение
2. И каково значение $FILE?
3. 2016-10-13-14:12-customer_live.gz