我需要移动一个mysql创建的文件而不是root

时间:2014-11-13 21:14:57

标签: linux bash usergroups

我正在创建一个移动mysql创建的日志文件的脚本。

我需要定期创建我需要移动的文件,就像这样

  

gorf @ 212370~ / Desktop $ ls -l / mysql-log /

     

-rw-rw ---- 1 mysql mysql 148 11月13日18:39 bin-log.000019

     

-rw-rw ---- 1 mysql mysql 126 Nov 13 18:42 bin-log.000020

     

-rw-rw ---- 1 mysql mysql 148 11月13日18:44 bin-log.000021

     

-rw-rw ---- 1 mysql mysql 148 11月13日18:50 bin-log.000022

     

-rw-rw ---- 1 mysql mysql 148 11月13日18:50 bin-log.000023

     

-rw-rw ---- 1 mysql mysql 107 11月13日18:50 bin-log.000024

     

-rw-rw ---- 1 mysql mysql 1456 Nov 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 个答案:

答案 0 :(得分:1)

您无法删除文件的原因是root拥有/ mysql-log目录。您需要将所有权更改为群组' mysql':

sudo chgrp mysql /mysql-log