Мне нужно переместить файл, созданный mysql, не будучи root

Я создаю скрипт, который перемещает файлы журналов, созданные mysql.

Файлы, которые мне нужно переместить, создаются регулярно и выглядят примерно так

gorf@212370 ~/рабочий стол $ ls -l /mysql-log/

-rw-rw---- 1 mysql mysql 148 13 ноября 18:39 bin-log.000019

-rw-rw---- 1 mysql mysql 126 13 ноября 18:42 bin-log.000020

-rw-rw---- 1 mysql mysql 148 13 ноября 18:44 bin-log.000021

-rw-rw---- 1 mysql mysql 148 13 ноября 18:50 bin-log.000022

-rw-rw---- 1 mysql mysql 148 13 ноября 18:50 bin-log.000023

-rw-rw---- 1 mysql mysql 107 13 ноября 18:50 bin-log.000024

-rw-rw---- 1 mysql mysql 1456 13 ноября 18:50 bin-log.index

и пользователь, которого я использую для перемещения файлов,

gorf@212370 ~/Desktop $ группы gorf

gorf: gorf adm cdrom sudo dip plugdev lpadmin sambasare mysql

Поскольку файлы принадлежат mysql, а пользователь «gorf» принадлежит к группе «mysql», я ожидал, что смогу перемещать файлы. Однако, если я попытаюсь переместить файлы, мне будет отказано в доступе.

gorf@212370 ~/Desktop $ mv /mysql-log/bin-log.000023 ./

mv: невозможно переместить «/mysql-log/bin-log.000023» в «./bin-log.000023»: разрешение отклонено

, но если я скопирую их

gorf@212370 ~/Desktop $ cp /mysql-log/bin-log.000023 ./

это нормально.

В сценарии мне нужно переместить файлы, поскольку они являются частью добавочной резервной копии. Одним из решений было бы запустить скрипт от имени пользователя root, но из соображений безопасности я ищу более элегантные решения.

Что я могу сделать, чтобы решить эту проблему?


person user3889486    schedule 13.11.2014    source источник


Ответы (1)


Причина, по которой вы не можете удалить файлы, заключается в том, что root владеет каталогом /mysql-log. Вам нужно сменить владельца на группу 'mysql':

sudo chgrp mysql /mysql-log
person Swoogan    schedule 13.11.2014