我的Centos服务器上有一个脚本,它应该删除新创建的日志文件。它包含以下内容:
cd /var/log/kloxo
rm maillog-* courier-* pureftp.log-* smtp.log-*。。此脚本具有以下所有权/权限:
-bash-3.2# ls -l /home/admin/cronscripts/logDeleteCronJob.sh
-rwxr-xr-x 1 root root 79 Jan 16 12:26 /home/admin/cronscripts/logDeleteCronJob.sh。。目标文件夹如下所示:
drwxr-xr-x 2 root root 4096 Jan 20 03:39 kloxo。。文件夹内容如下所示(这些权限由服务器在创建日志文件时自动设置):
-bash-3.2# ls -l /var/log/kloxo/
total 562064
-rw-r--r-- 1 root root 127423120 Jan 20 08:57 courier
-rw-r--r-- 1 root root 127145668 Jan 19 03:42 courier-1
-rw-r--r-- 1 root root 127375976 Jan 20 03:39 courier-2
-rw------- 1 root root 49875972 Jan 20 08:55 maillog
-rw------- 1 root root 49699233 Jan 19 03:42 maillog-1
-rw------- 1 root root 49857831 Jan 20 03:38 maillog-2
-rw------- 1 root root 7925642 Jan 20 08:58 pureftpd.log
-rw-rw-r-- 1 root root 11889944 Jan 20 08:57 smtp.log
-rw-r--r-- 1 root root 11842503 Jan 19 03:42 smtp.log-1
-rw-r--r-- 1 root root 11884360 Jan 20 03:39 smtp.log-2问题是脚本按计划执行,但未能删除文件,我从cron守护进程收到以下电子邮件:
rm: cannot remove `maillog-1': Permission denied
rm: cannot remove `courier-1': Permission denied
rm: cannot remove `pureftp.log-*': No such file or directory
rm: cannot remove `smtp.log-1': Permission denied谁能告诉我怎么把这件事做好吗?谢谢
发布于 2011-01-20 09:58:14
您正在以用户"admin“的身份运行cron脚本,而文件系统权限只允许root用户编写文件。
或者以根用户身份运行cron作业,或者chown+chmod所有文件/文件夹,以便管理员可以写/删除/等。
发布于 2011-01-20 09:17:50
只要它是可执行的,这里的The权限就不重要。重要的是执行脚本的用户。
显示cron职务输入。这是用户的任务还是全系统的?
发布于 2011-01-20 09:58:40
如果查看脚本未能删除的文件的权限,就会发现它们对于用户root来说是600,这意味着root和只有root才能删除这些文件。
要么修复权限,要么以root用户的身份运行脚本,而不是使用管理用户,这将完成任务
https://serverfault.com/questions/224562
复制相似问题