在Solaris 10中运行crontab之前,如何检查用户“.profile”是否存在

时间:2014-07-28 14:07:12

标签: solaris crontab solaris-10

我正在使用 Solaris 10

除了root之外我还有另一个用户说testuser,它安装在NAS文件系统中 我有一些脚本需要作为testuser运行。所以我把它们添加到testuser的crontab中。

只要NAS启动,所有cronjobs都正常运行,但当NAS停机时,cron本身就会因为而崩溃!无法获得PID 15621的最新合同:没有这样的过程 这个错误。

我搜索了这个问题并开始知道因为它的.profile文件无法访问,因为它提供了这个错误。那么在运行任何计划工作之前我们可以通过哪种方式检查用户特定的.profile文件

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为更好的解决方案是主动监控NAS共享,并报告错误(如果您的位置报告错误),如果不是。您可以使用nfsstat等工具获取NAS共享的统计信息(假设此NAS共享是通过NFS安装的)。这似乎是一个比在运行cron之前检查它是否正常工作更好的解决方案 - 检查以确保共享可用,因为如果不是,则需要注意。

除了时间之外,Cron并不依赖任何东西,因此无论用户的主目录是否可用,它都会运行。如果运行cron作业的脚本是本地的,那么您可以在运行之前预先检查以确保主目录可用,否则只需使用错误代码退出。

如果cron尝试运行的脚本位于用户的主目录中,那么您运气不好,因为即使尝试运行脚本来检查是否存在,也会发生错误。在尝试运行cron作业之前,您需要检查NAS共享的状态,但cron作业无论如何都会运行。看看我去哪了?

同样,我建议监控NAS并报告失败时的情况。