Mac OSX 上的 Crontab

Mac OSX 上的 Crontab

我在 Mac OS X 上创建了一个 /etc/crontab 文件,该文件运行一些简单的命令。我想使用 crontab 在终端中回显一条语句,从操作系统注销(就好像我将鼠标指向命令 Logout),并且我尝试通过每两分钟运行一次回显语句来测试它。这是我到目前为止所拥有的:

55 12 * * * echo "Don't forget to log out!! Will be automatically logging out at 12PM Sharpe!!"
* 13 * * * logout
1 * * * * echo "Test"

那时,我曾经crontab /etc/crontab确保我的用户指向 crontab 文件(确实如此),并且能够通过键入 .. 来确认它crontab -l。我需要做什么才能使其在我的终端中回显并且它真的每天中午12点退出操作系统吗?

答案1

如果实际意图是强制系统的活动用户在每天 1300 点注销,请在root用户的 crontab 中尝试以下操作:

0 13 * * * osascript -e 'tell app "System Events" to log out'

如果您不希望向用户显示确认对话框,您可以使用:

0 13 * * * osascript -e 'tell app "System Events" to  «event aevtrlgo»'

答案2

cron 表条目跑步。它们不在您的活动终端上运行;他们自己跑。如果您的主机正在运行本地邮件守护程序,您可以看到 cron 作业的输出,这些作业echo在本地邮件守护程序发送到您的本地帐户的电子邮件中具有输出(例如作业)。

答案3

一段时间以来,在 OS X 中使用cron已被强烈反对,现在有利于他们的“更好”选项,称为launchd.有很多关于如何运行作业的教程,launchd但这里只是为了帮助您入门。

http://alvinalexander.com/mac-os-x/mac-osx-startup-crontab-launchd-jobs

相关内容