Ubuntu 利用 crontab 和 notify-send 定时发送桌面通知,提示该休息啦
【经测试,每隔多少分钟执行并不像自己想象的一样】
比如:每隔50分钟执行一次提醒 */50 * * * * export DISPLAY=:0.0; notify-send -i /home/ths/图片/33.jpg "休息" "[该休息了]喝点水,出去走走"
但并不是精确的每隔50分钟执行一次,而是每隔小时的第50分钟执行一下[即使你在第49分钟设置的命令,也会在一分钟后的第50分钟提醒!],然后整小时的时候执行一次。
一个替代的方法就是用shell脚本:
#!/bin/sh
i=1
while i=1
do
notify-send -i /home/ths/图片/33.jpg "休息" "[该休息了]喝点水,出去走走"
sleep 3000
done
notify-send
notify-send 是 Linux 下发送通知到桌面的命令行程序。Ubuntu16.04 会在桌面右上角出现一个通知提醒框。
基本用法:
发送一条通知内容
notify-send "这是通知的内容"
发送一条有标题的通知
notify-send "标题" "这是通知的内容"
发送一条有图片的通知
notify-send -i /home/tip.png "标题" "这是通知的内容"
crontab
crontab 是 Linux 下的定时任务,服务端一般用于定时重启某些服务、定时清理日志信息等。
- 执行命令
sudo crontab -l
查看定时任务列表,如果有的话,将会列出来
- 执行命令
sudo crontab -e
进入编辑 crontab 的模式下。
语法是这样的:
minute hour day month week command
参数 | 说明 |
---|---|
minute | 分钟,0到59 |
hour | 小时,0到23 |
day | 日期,1到31 |
month | 月份,1到12 |
week | 星期,0到7,这里的0或7代表星期日 |
command | 要执行的命令,命令行命令,或者外部脚本文件 |
例子:
每分钟都执行一次 command
* * * * * command
每小时的 2 和 3 分钟时执行一次 command
2,3 * * * * command
10 点到 18 点之间每个小时的 2 和 3 分钟都执行一次 command
2,3 10-18 * * * command
晚上 11 点到早上 7 点之间,每隔 2 小时重启smb
* 23-7/2 * * * /etc/init.d/smb restart
结合出功能--每两个小时提示用户该休息啦
执行命令 sudo crontab -e
进入定时任务编辑模式【不用sudo对当前用户生效】,在最后一行加入以下代码:
0 */2 * * * export DISPLAY=:0.0; notify-send -i /home/tip.png "休息" "滚去休息吧!!!"
保存退出即可,偶数小时的 0 分钟就会有 “去休息” 的提示。
Note:
要在定时任务里调用图形界面程序,需要加上 export DISPLAY=:0.0;
环境变量,告诉定时任务图形界面程序显示的屏幕。
Ubuntu 利用 crontab 和 notify-send 定时发送桌面通知,提示该休息啦的更多相关文章
- Linux命令之Crontab定时任务,利用Crontab定时执行spark任务
Linux命令之Crontab定时任务,利用Crontab定时执行spark任务 一.Linux命令之Crontab定时任务 1.1 常见Crontab任务 1.1.1 安装crontab 1.1.2 ...
- 利用crontab定时备份数据库为sql文件
测试: 每1分钟执行1次,利用crontab */1 * * * * /opt/nginx/db_bak.sh 每天的0点0分把数据库备份为日期格式 0 0 * * * /opt/nginx/db_b ...
- Ubuntu 开启 Crontab 计划任务日志
Ubuntu 下的 Crontab 日志功能不是自动开启的.开启日志功能的步骤是: ① 修改 rsyslog sudo vim /etc/rsyslog.d/-default.conf 找到: #cr ...
- 关于定时发送服务的解决办法(PHP)
一.定时发送任务解析 在进行手机APP或者微信开发的时候,经常会有需要定时推送消息的场景. 定时发送又分为两种: 一种是在开发的时候固定时间,后台管理人员只能选择将要推送的消息: 另一种是后台管理人员 ...
- python实现定时发送消息
#!/usr/bin/env python#-*- coding:utf-8 -*- @Author : wujf @Time:2018/8/21 15:59# 自动发送消息from threadin ...
- Ubuntu下crontab启动、重启、关闭命令
在Ubuntu14.04环境下,利用crontab编写shell脚本程序,定时执行php相关程序.在这个过程中,经常使用到的crontab命令如下: (root权限下) crontab启动:/etc/ ...
- 用python自制微信机器人,定时发送天气预报
0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...
- linux利用crontab设置定时任务运行jar包
参考链接: 1.http://blog.csdn.net/javadhh/article/details/42779505 2.http://blog.csdn.net/cctv_liu/articl ...
- C#/Net定时导出Excel并定时发送到邮箱
一.定时导出Excel并定时发送到邮箱 首先我们先分析一下该功能有多少个小的任务点:1.Windows计划服务 2.定时导出Excel定指定路径 3.定时发送邮件包含附件 接下来我们一个个解决 ...
随机推荐
- 内训--PPT演示技巧
企业内训,实操,不涉及如何做PPT,仅讲解PPT播放等内容.做好PPT后,在演讲的过程中,如何使用这些功能.
- Java笔试面试题整理第七波
转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 1.super的作用 在Java中su ...
- 四、Html列表、块、布局
- Linux配置Supervisor 配置遇到的坑
在linux中web 应用部署到线上后之后发现退出终端后网站就无法访问了 所以需要用Supervisor来守护进程,它可以保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时 ...
- nginx 301跳转
server { server_name xxxx.com; return 301 $scheme://www.xxxx.com$request_uri; }
- Mysql 日期加减
mysql表中有一些字段是显示日期的.因为各种需要,需要将它时间往后调整1年. mysql 日期增加一年的更新语句更新的语句如下: UPDATE table SET date = DATE_A ...
- jmeter 测试计划
进行 jmeter 测试时首先都要有一个测试计划,测试计划下的一些名词解释:
- jmeter 连接 MySql
1.连接 mysql 驱动包安装下载 1)首先需要安装 mysql 驱动包,下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html 2)下载 ...
- MySQL master-slave主从复制环境搭建初试
环境为centos 7.2+mysql 5.7,网上教程很多,原理也不复杂(深知自己踩的坑还不够) 正常情况下,配置起来比较简单.另外,根据个人感受,MySQL的复制感觉要比SQL Server的复制 ...
- API接口认证
restful API接口可以很方便的让其他系统调用,为了让指定的用户/系统可以调用开放的接口,一般需要对接口做认证; 接口认证有两种方式: 1.认证的token当做post/get的参数,serve ...