Мне нужно переместить файл, созданный 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 $ groups gorf

gorf: gorf adm cdrom sudo dip plugdev lpadmin sambashare 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, но по соображениям безопасности я ищу более элегантные решения.

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

1 ответ

Решение

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

sudo chgrp mysql /mysql-log
Другие вопросы по тегам