LINUX学习--mosquitto和shell脚本

简介

 由于项目需要,需将加油机与数据中心的数据进行日志的保存,通过mqtt的方式取到数据。

实现环境

阿里云(Ubuntu 16.04) + mosquitto

环境搭建

1.mossquitto安装(源码安转)

**下载链接 mosquitto-1.6.7
下载完成后,将安装包放入想要安装的目录。
解压安装安装包命令: tar -zxvf mosquitto-1.6.7.tar.gz
进入解压的文件夹
在这里插入图片描述
在这里插入图片描述

2.安装依赖

在make之前确认依赖存在

sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install openssl
sudo apt-get install uuid-dev
sudo apt-get install g++

3.安装

make
make install

添加用户

Useradd mosquitto
Passwd mosquitto

4.使用

4.1服务器模式

mosquitto -v
在这里插入图片描述

4.2客户端模式

进入client目录下
使用订阅
在这里插入图片描述在这里插入图片描述

2.shell脚本创建

1.创建.sh结尾文件,进入vim编辑

在这里插入图片描述
脚本解释
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
date使用,获取系统时间,将日期设置为年-月-日格式
echo:shell中的输出相当与printf
在使用mosquitto_sub前,先将mosquitto_sub进程杀掉
nohup:nohup 是 no hang up 的缩写,就是不挂断的意思。
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
最后的&:使进程在后台运行
-F %X:以16进制输出
>符号:重定向,将nohup输出到自定义的文件下

2.赋予脚本可执行权限

chmod
r=4,w=2,x=1

若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
chmod 777 savelog.sh

使用 ll查看结果
在这里插入图片描述

实现日志

crontable
crontable 命令,是在linux下的定时命令,适合进行长期的定时任务执行。

crontab -e

在这里插入图片描述
savlog.sh每天0点执行一遍,形成日志。

到此需求就满足了,有何不足,欢迎指正。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值