让服务器上长时间运行的命令运行完自动通知你

2018-02-07 05:37:39 +08:00
 oldcai

作用

一个命令要运行很久,又有后续任务等着这个命令处理完才能做,而等待的时候不想总是过来查看是否已经运行完毕。

用法举例

比如你正在运行

sleep 3600

可以输入这段命令

curl -s --user 'api:key-xxxxxxxxxxxxxxxxxx' \
    https://api.mailgun.net/v3/oldcai.com/messages \
    -F from='Notification <notify@whatever.com>' \
    -F to=username@email.com \
    -F subject="Task on <$HOST> Has Been Completed\!" \
    -F text="returned $?"
date

运行完了就会发邮件提示你了,邮件内容也可以改成其他的。

效果示例:

虽然没什么技术含量,但是很方便。

不足之处

进阶用法

在 textexpander,或者 Alfred 等的 Snippets 中加个自动完成,需要的时候。

5358 次点击
所在节点    分享创造
24 条回复
MayKiller
2018-02-07 07:24:07 +08:00
写成脚本, 然后
./notify.sh sleep 3600
cxh116
2018-02-07 07:25:40 +08:00
修改 /etc/mail.rc 文件,配置你的邮箱的 smtp 地址与帐号密码,然后就可以直接用 mail 命令直接发邮件了。
Tink
2018-02-07 07:33:13 +08:00
&&
whwq2012
2018-02-07 08:03:30 +08:00
讲道理,server 酱比这个方便吧
ETiV
2018-02-07 08:17:59 +08:00
其实我作为用户的话,最痛的痛点在于,命令敲完了,等了一两分钟也不见完……

这个时候我不想 ctrl-c、z,又想它完成后通知我(最希望的是能告诉我进度、预估完成时间)
sinxccc
2018-02-07 08:18:03 +08:00
我是用了一个 telegram 的 bot 来发消息: https://github.com/rahiel/telegram-send

zsh 的话有一个内置的 fc 函数,你可以看看用法。
zhujinliang
2018-02-07 08:19:25 +08:00
哈哈,以前用 yo 这个 app 做过
upczww
2018-02-07 08:57:37 +08:00
server 酱了解一下
DuckJK
2018-02-07 09:21:42 +08:00
DuckJK
2018-02-07 09:24:06 +08:00
我用 bearychat,建一个 incoming 机器人
keepsmilence
2018-02-07 09:41:05 +08:00
nohup ./xxx.sh & 满足不了么?
tonghuashuai
2018-02-07 09:56:27 +08:00
楼主的需求就是多个命令自动串行执行呗 && 就行吧,比如:
git push && git pull up master

所以多个 cmd1&&cmd2&&cmd3...
yangqi
2018-02-07 09:58:57 +08:00
需要这么复杂么,自带的 mail 就可以啊

command; echo "Process done" | mail -s "Process done" mail@domain.tld
jaxer
2018-02-07 10:01:33 +08:00
可以试一下 ifttt 的 webhook,他会提供一个网址,可以传入 3 个参数。
被访问后,后续可以触发邮件,电话,短信等都可以。
neighbads
2018-02-07 10:50:42 +08:00
dingtalk-bot
i730
2018-02-07 11:46:44 +08:00
。。。。只要挂着 ssh,任务完成会有响铃,一个桌面提醒。 需要 ssh 客户端支持
xoxo419
2018-02-07 12:04:29 +08:00
@i730 #16 是什么工具可以做到?
wangxiaoer
2018-02-07 12:12:13 +08:00
这种直接用 python js 这种脚本实现简单的多,邮件通知还不是要继续执行下一条命令?
stanjia
2018-02-07 12:16:26 +08:00
@sinxccc telegram 的 bot 在使用时需要施法吗?
ekousp
2018-02-07 12:31:05 +08:00
curl 一下 slack 也可以。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/429067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX