我一直在谷歌上搜索这个问题,但没有什么收获。希望有人能帮忙。
我们有一位客户在运行 SCO Unixware 7 机器。这台机器每天都会备份到磁带。这些机器已经停止运行。它经过并进入 /home 目录并产生以下错误
UX:cpio: HALT: ulimit reached for output file.
这将耗尽 root crontab,并且 root 的 ulimit 设置如下
# ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 16384
coredump(blocks) 32768
nofiles(descriptors) 256
memory(kbytes) unlimited
我不确定是什么原因导致它突然停止工作。我能做些什么来缓解这个问题?
当前 Crontab 条目
0 23 * * 1-6 /tech/mn/autobackup.sh
建议的 Crontab 条目
0 23 * * 1-6 ulimit -f unlimited; sh /tech/mn/autobackup.sh
答案1
root 登录的 ulimits 不一定与 cron 生成的 cpio 中的 ulimits 相同。从 root crontab 运行ulimit -Sa
并ulimit -Ha
找出 cron 作业继承的限制。
一些 Unix 具有方便/令人恼火的功能,它们将在会话创建时可配置地对会话应用限制,例如在 中/etc/login.conf
。
我的方法是ulimit -f unlimited;
在真正的命令之前插入 crontab 行。