本帖最后由 牵网线的 于 2022-7-6 14:24 编辑
场景: 客户服务器有一些基础运维工作要做,需要配置脚本进行定时运维,这时候就配合crontab定期执行,发现crontab定时任务并未执行。
解决方案: 查看目录权限,无权限则修改目录权限 - ll /var/spool/cron/ #权限为root,修改权限
- chown etl_user /var/spool/cron/etl_user
- cat /var/spool/cron/etl_user
复制代码
修改完后重启生效
注意:查看crontab的权限是否正常,若权限和下图不一致需要修改为正确权限。
客户现场有一台Linux服务器crontab一直无法在普通用户下执行,执行时总是提示错误:seteuid: Operation not permitted,要使用crontab还要切换到root用户下,再执行crontab -u username -e来编辑,后来通过google搜索到问题在于文件权限的问题,文件/usr/bin/crontab没有特权。
解决方法:改过前的权限是 - -rwxr-xr-x 1 root root 70592 Jul 12 2005 /usr/bin/crontab
复制代码
改过后的权限是 - -rwsr-xr-x 1 root root 70592 Jul 12 2005 /usr/bin/crontab
复制代码
因为crontab要使用到除了crontab之外的其他文件,而那些文件普通用户是没有更改权限的,那么现在就需要增加他对文件系统的特权,让可以对其它文件也有更改权限,更改上面的方法是先切换到root用户下再执行 - chmod u+s /usr/bin/crontab
复制代码
|