关于如何通过一个衬板通过终端添加crontab的问题,我经历了很多答案,并且到处都只遇到一个选项。
{crontab -l; echo "1 * * * * /usr/bin/firefox" } | crontab -
我收到的跑步是
>
而已。提示我键入一些内容。
第二个选择是
(crontab -l; echo "1 * * * * /usr/bin/firefox" ) | crontab -
这似乎增加了cron,/var/spool/cron/crontabs/root
但并没有firefox
每分钟打开一次,实际上它根本没有打开。
对于大多数答案,我读得最多,您不应该直接编辑/var/spool/cron/crontabs/root
或/etc/crontab
文件。
我的系统不支持此功能吗?
的输出uname -a
给出了我的系统的以下描述
Linux earth 4.9.0-kali4-amd64 #1 SMP Debian 4.9.30-2kali1 (2017-06-22) x86_64 GNU/Linux
编辑:以下消息日志经常在我的/var/spool/mail/mail
日志中重复
From [email protected] Sun Jul 09 16:01:12 2017 Return-path: < [email protected] > Envelope-to: [email protected] Delivery-date: Sun, 09 Jul 2017 16:01:12 +0530 Received: from root by earth with local (Exim 4.89) (envelope-from <[email protected]>) id 1dU9UY-0001Ry-3A for [email protected]; Sun, 09 Jul 2017 16:01:06 +0530 From: [email protected] (Cron Daemon) To: [email protected] Subject: Cron <root@earth> /usr/bin/firefox MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Cron-Env: < SHELL=/bin/sh > X-Cron-Env: < HOME=/root > X-Cron-Env: < PATH=/usr/bin:/bin > X-Cron-Env: < LOGNAME=root > Message-Id: < E1dU9UY-0001Ry-3A@earth > Date: Sun, 09 Jul 2017 16:01:06 +0530 Error: GDK_BACKEND does not match available displays
您的第二次尝试很可能是正确的,但您的期望是错误的。
让我们看一下它:
crontab -l
列出当前用户的crontab的所有现有条目。这
echo "1 * * * * /usr/bin/firefox"
只是再次打印该行。然后将这两个命令分组到一个子外壳中,并将公共输出通过管道传递到
crontab -
因此,crontab被标准输入(在本例中为旧crontab加上新条目)输入的内容覆盖。
如您所说,它已添加到crontab文件中。并且,假设cron守护程序正在运行,该命令将在每分钟执行一次。
那么为什么不每分钟看到一个firefox窗口呢?-由于conrjob在cron守护程序下的另一个shell中运行,该shell无法访问您的X会话,因此firefox将失败并报告类似
(firefox:22376): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Error: GDK_BACKEND does not match available displays
并终止。怎么看那个错误?通常,cron守护程序会尝试向您发送邮件,/var/spool/mail
最终请参见。
关于两种形式:
{ crontab -l; echo "1 * * * * /usr/bin/firefox" } | crontab -
将必须写成
{ crontab -l; echo "1 * * * * /usr/bin/firefox"; } | crontab -
(注意多余的分号)
()
和之间的区别在于,{}
前者创建一个子shell,而后者则在同一shell上下文中执行命令。因此,变量分配以一种形式生存,而不以另一种形式生存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句