Ubuntu 18.04LTS 服务器
我的 /var/log/cron.log 设置为:
-rwxrwxr-x 1 syslog adm 0 12月4日 07:12 /var/log/cron.log
每次 rsyslog 启动时,我都会收到 /var/log/cron.log 上的文件权限错误:
1 月 3 日 11:00:01 服务器名称 rsyslogd:文件'/var/log/cron.log':打开错误:权限被拒绝 [v8.32.0 尝试http://www.rsyslog.com/e/2433]
这个文件的权限应该是什么?
答案1
/var/log/cron.log
已过时,因为cron
通过 记录syslog
。您是否安装了非标准的cron
?
查看是否有任何进程已/var/log/cron.log
打开
sudo lsof /var/log/cron.log
这应该不显示任何进程,
例如:
walt@bat:~(0)$ sudo lsof /var/log/backupninja.log
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
walt@bat:~(1)$ sudo lsof /var/log/syslog
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 1534 syslog 6w REG 8,5 15948 391680 /var/log/syslog
如果lsof
确实显示一个打开的进程/var/log/cron.log
,则需要调整、重新配置或终止该进程。
如果没有/var/log/cron.log
打开正在运行的进程,只需删除该文件:
sudo rm /var/log/cron.log
cron
journalctl
日志应使用《统一日志的新方法》查看。请阅读man journalctl
。
# do this once
sudo adduser $USER systemd-journal
# add to ~/.bash_aliases or ~/.bashrc
# tsjou "18-11-01 01:55:28" for journalctl --since
alias tsjou="date '+%y-%m-%d %H:%M:%S'"
alias jc=journalctl
# record beginning for journalctl
alias jstart="JSTART_TIME=\"\$(tsjou)\""
alias jend="journalctl --since=\"\$JSTART_TIME\""
alias jc5="journalctl --since=\"-5 minutes\""
alias jc10="journalctl --since=\"-10 minutes\""
然后cron
使用以下方式查看日志
jc -b 0 /usr/sbin/cron
jc -b 0 /usr/sbin/anacron