crontab里调用图形化虚拟终端gnome-terminal显示命令执行情况

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

crontab里调用图形化虚拟终端gnome-terminal显示命令执行情况

#1

帖子 highwind » 2014-02-28 4:43

最近写crontab计划任务,可是脚本都是后台运行,有时候也不知道运行的时候有没有什么错误信息
发现了个东西,我想装ubuntu的同学应该都能用得上,就是在crontab的执行栏调用虚拟终端gnome-terminal;
最简单的命令比如:

代码: 全选

export DISPLAY=:0.0 ;gnome-terminal -x sh -c "ls|less"  # 用ls命令举个例子
之所以要export那段,是因为需要执行的是图形化软件。使用时候我的习惯是:
1.在crontab里面写

代码: 全选

* * * * * /路径/脚本一
2.脚本一里面写

代码: 全选

export DISPLAY=:0.0 ;gnome-terminal -x sh -c "/路径/脚本二"
3.脚本二里面就可以想怎么写怎么写了。

也不知道是不是坟,如果是,就让它沉了好了。 :em06
上次由 highwind 在 2014-03-06 21:13,总共编辑 5 次。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: crontab里调用gnome-terminal显示命令执行情况

#2

帖子 lilydjwg » 2014-02-28 20:31

在 cron 里执行有图形界面的程序需要设置 DISPLAY 变量。一般个人用户的图形界面的 DISPLAY 值为 :0

脚本错误信息会发邮件给你的,没有设置的话默认是发现本地邮件,即投递到 /var/mail/<username> 下。你可以用 mutt 来查看。crond 也会把相关信息记录到系统日志,比如 /var/log/messages 之类的。
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: crontab里调用gnome-terminal显示命令执行情况

#3

帖子 highwind » 2014-02-28 21:54

但是如果有些交互的话,我觉得这样可能还是方便点吧。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: crontab里调用gnome-terminal显示命令执行情况

#4

帖子 lilydjwg » 2014-02-28 22:45

highwind 写了:但是如果有些交互的话,我觉得这样可能还是方便点吧。
cron 任务要什么交互……
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: crontab里调用gnome-terminal显示命令执行情况

#5

帖子 highwind » 2014-03-01 2:06

因为现在搞计划任务就只会crontab(当然如果有什么其他好的推荐也分享分享?),有时候执行一个命令,但是里面有些需要选择的地方,
好比今天想换换口味吃个梨子,不想继续吃苹果了之类的。
:em06
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: crontab里调用gnome-terminal显示命令执行情况

#6

帖子 lilydjwg » 2014-03-01 12:25

highwind 写了:因为现在搞计划任务就只会crontab(当然如果有什么其他好的推荐也分享分享?),有时候执行一个命令,但是里面有些需要选择的地方,
好比今天想换换口味吃个梨子,不想继续吃苹果了之类的。
:em06
那就设置 DISPLAY 环境变量吧。或者你自己写个 daemon 跑着?
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: crontab里调用gnome-terminal显示命令执行情况

#7

帖子 highwind » 2014-03-01 21:13

多谢提点,有空学学去。


Sent from Tapatal
回复