在我管理的各种系统上,有通过常用/etc/cron.{hourly,daily,weekly}
布局运行的 cron 脚本。我想知道的是是否有任何常见的“禁用此脚本”功能。
显然,简单地从给定目录中删除某些内容将禁用它,但我正在寻找更持久的解决方案。删除/etc/cron.daily/slocate
将updatedb
在我的家用机器上禁用夜间(我从不使用slocate
),但是下次我升级 slocate 包时,我很确定它会重新出现。
我最感兴趣的两个发行版是 Gentoo 和 OpenSUSE,但我希望有一种广泛实施的机制。我拥有的两个发行版都使用 vixie-cron(不确定是否重要)。
我看到很多关于这个的问题,但我的似乎有点不同。
这是我收到的:
/etc/cron.weekly/apt-xapian-index:
FATAL -> Failed to fork.
run-parts: /etc/cron.weekly/apt-xapian-index exited with return code 100
Run Code Online (Sandbox Code Playgroud)
和
/etc/cron.daily/apt:
FATAL -> Failed to fork.
Run Code Online (Sandbox Code Playgroud)
和
/etc/cron.daily/apt:
DB Update failed, database locked
Run Code Online (Sandbox Code Playgroud)
我总是有至少 600 MB 的可用 RAM。如果我尝试手动运行sudo /etc/cron.daily/apt
什么也不会发生..shell 挂起。
可能是什么问题呢?
编辑: Ubuntu 服务器 14.04
我在“logrotate.d”目录中添加了两个脚本,以便轮换我的应用程序日志。这是其中之一的配置:
<myLogFilePath> {
compress
copytruncate
delaycompress
dateext
missingok
notifempty
daily
rotate 30
}
Run Code Online (Sandbox Code Playgroud)
“cron.daily”目录中有一个“logrotate”脚本(根据cron日志,它似乎每天都在运行):
#!/bin/sh
echo "logrotate_test" >>/tmp/logrotate_test
#/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
/usr/sbin/logrotate -v /etc/logrotate.conf &>>/root/logrotate_error
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
第一个 echo 语句正在运行。
但是我发现我的应用程序日志本身没有轮换,而其他日志(如 httpd)正在轮换 **
**而且我也没有在提到的“logrotate_error”文件中看到任何输出(对所有用户都有写权限)。
但是系统日志显示:“logrotate:ALERT 异常退出 [1]”
但是当我手动在“cron.daily”脚本中运行相同的“logrotate”时,一切似乎都正常。
为什么它在每日 cron 计划中不轮换?我在这里做错了吗?
如果我能得到这些急需的帮助,那就太好了。
更新: 看起来,这是因为 selinux - 我的用户主目录中的日志文件受到 selinux 的限制,并且运行 logrotate 脚本时:
SELinux is preventing /usr/sbin/logrotate from getattr access on the …
Run Code Online (Sandbox Code Playgroud) 在我的 Debian 6.0.8 系统上,/etc/cron.daily/apt
文件丢失。因此,无人值守升级不起作用。
我该如何重新创建/修复/etc/cron.daily/apt
?
我需要在cron.daily 中添加一个脚本,如何添加?
cron.daily ×5
cron ×4
apt ×2
debian ×1
fork ×1
log-rotation ×1
logging ×1
logrotate ×1
memory ×1
upgrade ×1