linux 下 crond 后台执行脚本的权限问题

这几天发现服务器又不自动备份日志了。。。

我通过在crond服务中添加定时执行备份脚本实现自动备份的,crontab文件:
/etc/crontab文件:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
59 11 * * * root /root/mysql_backup.sh
0 0 * * * root /usr/sbin/twslogbaker.sh

今天SSH以root登录,直接到/usr/sbin下执行twslogbaker.sh,居然说权限不够:

[root@localhost sbin]# twslogbaker.sh
-bash: /usr/sbin/twslogbaker.sh: 权限不够
[root@localhost sbin]# ls -l | grep tws
-rw-r--r-- 1 root root 834 03-16 16:00 twslogbaker.sh

什么时候失去执行权限了呢?唯一的可能性就是机器重启,权限丢失了。

再把权限加上:

[root@localhost sbin]# chmod 777 twslogbaker.sh
[root@localhost sbin]# ls -l | grep twslogbaker.sh
-rwxrwxrwx 1 root root 834 03-16 16:00 twslogbaker.sh
[root@localhost sbin]#

手动执行一下:

[root@localhost sbin]# twslogbaker.sh
---> Log path: '/usr/local/twslog'
---> Starting bak 'tws.log' to '2011-04-01.log' ...
---> file 'tws.log' not exist!
---> restart 'syslog' service
关闭内核日志记录器: [确定]
关闭系统日志记录器: [确定]
启动系统日志记录器: [确定]
启动内核日志记录器: [确定]
---> Done!
[root@localhost sbin]#

OK了。
如果判断正确,那么如何再开机时就使得cond后台服务具有执行twslogbaker.sh 的权限呢?

发表评论

电子邮件地址不会被公开。