当前位置: 首页 > news >正文

Linux 编写脚本定时发送天气预报

1 首先要配置smtp服务

 我这里使用的是qq邮箱

拿到smtp的密钥

2 配置mail.rc文件

  在配置文件末尾加上

set from=109456****@qq.com  #这里是发送邮件的地址

set smtp=smtp.qq.com:587 #阿里云一定要带上这个端口号,其他云服务商不用

set smtp-auth-user=109456****   #这里是你的邮箱用户名

set smtp-auth-password=ttaxtewfdnic****   #这里填你刚刚保存的SMTP授权码

set smtp-auth=login       #这一行不变

  配置完之后用这条命令测试是否可以发邮件

echo ""|mail -v -s "test" x'x'x'x'x'x@qq.com

3 创建和风天气账号,创建项目,拿到api key

和风天气的返回数据是json格式

4 根据数据格式编写脚本

#!/bin/bash
curl -s -L -X GET --compressed 'https://devapi.qweather.com/v7/weather/now?location=101240701&key=ef53e2294aa7471199ded2117b4e8083' >&/home/chenX/weather/weather.json
temp=$(cat weather.json | jq '.now.temp')
text=$(cat weather.json | jq '.now.text')
windDir=$(cat weather.json | jq '.now.windDir')
windScale=$(cat weather.json | jq '.now.windScale') 
humidity=$(cat weather.json | jq '.now.humidity')
vis==$(cat weather.json | jq '.now.vis ')                                               
echo "又是新的一天,今天天气:${text},温度为: ${temp},风向:${windDir}, 等级:${windScale},相对湿度为${humidity},能见度为${vis}" | mail -v -s "morning" 2663385007@qq.com

5 将bash脚本加入定时任务当中

 crontab -e
 

重启定时任务

crontab -l  查看定时任务

特别注意:

为了解析json参数,我们需要安装jq

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • count distinct在spark中的运行机制
  • 大数据应用发展史:从搜索引擎时代到机器学习时代
  • AI赋能金融创新:技术驱动的未来金融革命
  • 水库大坝安全监测设计与施工经验
  • Golang 通用代码生成器仙童已发布 2.4.0 电音仙女尝鲜版二及其介绍视频,详细介绍了三大部分生成功能群
  • 城市分站优化系统源码:提升百度关键排名 附带完整的搭建教程
  • 2022第十届中国互联网测试开发大会(MTSC2022)-核心PPT资料下载
  • IOC推导和本质
  • MySQL聚簇索引和非聚簇索引的区别
  • 最新AI系统ChatGPT网站H5系统源码,支持AI绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图
  • Vue3-31-路由-RouterView的name属性的作用
  • 【STM32】TIM1在电机应用时的注意事项
  • CGAL的三角曲面网格变形
  • 创建加密分区或者文件
  • 前端 -- 基础 常用标签 ( 图像标签及其属性详解)
  • 0基础学习移动端适配
  • 77. Combinations
  • es6要点
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • golang 发送GET和POST示例
  • IOS评论框不贴底(ios12新bug)
  • JAVA多线程机制解析-volatilesynchronized
  • Java面向对象及其三大特征
  • Java小白进阶笔记(3)-初级面向对象
  • react-native 安卓真机环境搭建
  • Vue实战(四)登录/注册页的实现
  • web标准化(下)
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 批量截取pdf文件
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前嗅ForeSpider教程:创建模板
  • 如何在GitHub上创建个人博客
  • 微信小程序开发问题汇总
  • 优秀架构师必须掌握的架构思维
  • 鱼骨图 - 如何绘制?
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • C# - 为值类型重定义相等性
  • 阿里云API、SDK和CLI应用实践方案
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #数据结构 笔记三
  • (C语言)字符分类函数
  • (function(){})()的分步解析
  • (附源码)php新闻发布平台 毕业设计 141646
  • (六)Hibernate的二级缓存
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)一些感悟
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 常见的偏门问题
  • .net 简单实现MD5
  • .Net 执行Linux下多行shell命令方法
  • .NET周刊【7月第4期 2024-07-28】