通过 ssh 记录 raspberry pi 数据的最有效方法是什么?
What would be the most efficient way to log a raspberry pi's data over ssh?
我目前在 raspberry pi 上有一个 python 脚本,它在 运行 的同一目录中创建一个日志文件,其中包含我想实时查看的重要数据在我的笔记本电脑上(我可以通过 ssh 进入 pi)。
显然,我可以在使用文本编辑器 ssh 时在笔记本电脑上查看日志文件,但这不是实时数据流。
不幸的是,虽然我有相当多的 python 经验,但我对网络的知识知之甚少,除了我可以 scp/rsync 将文件放到我的计算机上,当然,那不是也可以让我实时查看我的日志文件。
tail 通常用于此,tail -f yourlogfile.log
将显示文件的最新十行并在文件更改时更新。
有两个想法spring要考虑...
Unix syslog
工具允许 distributed/remote 日志记录。您可能会找到一个 Python 模块,或者您可以创建一个套接字并将消息发送到笔记本电脑上的 syslogd
。您甚至可以在紧要关头发送带有 netcat
的消息。 Related article
您可以在笔记本电脑上设置 Redis 并使用 Python Redis 模块将带有时间标记的消息发送到队列或排序的哈希,然后编写一个小脚本在笔记本电脑上等待队列.还可以为消息指定 "time to live" 或过期时间,这样内存需求就不会过高。 Related article
一个更简单的选择可能是将日志写入 Raspberry Pi 上的文件,然后根据笔记本电脑的 OS,通过 NFS 或 Samba 与笔记本电脑共享该目录。然后,您可以使用 tail
的 follow
(-f
) 选项来查看持续更新的最后几行:
tail -f output.log
Netcat.
在本地 PC 上
nc -l 2000
在远程
tail -f filename | nc hostip 2000
我目前在 raspberry pi 上有一个 python 脚本,它在 运行 的同一目录中创建一个日志文件,其中包含我想实时查看的重要数据在我的笔记本电脑上(我可以通过 ssh 进入 pi)。
显然,我可以在使用文本编辑器 ssh 时在笔记本电脑上查看日志文件,但这不是实时数据流。
不幸的是,虽然我有相当多的 python 经验,但我对网络的知识知之甚少,除了我可以 scp/rsync 将文件放到我的计算机上,当然,那不是也可以让我实时查看我的日志文件。
tail 通常用于此,tail -f yourlogfile.log
将显示文件的最新十行并在文件更改时更新。
有两个想法spring要考虑...
Unix syslog
工具允许 distributed/remote 日志记录。您可能会找到一个 Python 模块,或者您可以创建一个套接字并将消息发送到笔记本电脑上的 syslogd
。您甚至可以在紧要关头发送带有 netcat
的消息。 Related article
您可以在笔记本电脑上设置 Redis 并使用 Python Redis 模块将带有时间标记的消息发送到队列或排序的哈希,然后编写一个小脚本在笔记本电脑上等待队列.还可以为消息指定 "time to live" 或过期时间,这样内存需求就不会过高。 Related article
一个更简单的选择可能是将日志写入 Raspberry Pi 上的文件,然后根据笔记本电脑的 OS,通过 NFS 或 Samba 与笔记本电脑共享该目录。然后,您可以使用 tail
的 follow
(-f
) 选项来查看持续更新的最后几行:
tail -f output.log
Netcat.
在本地 PC 上
nc -l 2000
在远程
tail -f filename | nc hostip 2000