Python新手在这里.我想通过一个大的mbox文件,解析电子邮件.我可以这样做:
import sys
import mailbox
def gen_summary(filename):
mbox = mailbox.mbox(filename)
for message in mbox:
subj = message['subject']
print subj
if __name__ == "__main__":
if len(sys.argv) != 2:
print 'Usage: python genarchivesum.py mbox'
sys.exit(1)
gen_summary(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)
但我需要更多控制权.我需要能够在mbox文件中获取给定电子邮件的开头的字节位置,并且还需要获取消息中的字节数(如磁盘上所示).然后在未来,而不是从MBOX文件开始迭代,我需要能够寻求到一个给定的消息,只是解析(因此获得的磁盘上的字节位置的需求之一).这些是大型mbox文件,效率是一个问题.
所有这一切的目的是让我可以生成一个摘要文件,其中包含有关mbox中每封电子邮件的一些小部分,然后将来有效地查找mbox中的各个电子邮件.
我们有一个3节点Elasticsearch集群,运行1.7.3.每个节点都是数据节点和主节点.昨晚,其中一台机器损坏了其文件系统,并以只读方式重新安装.从那时起,群集在插入时返回错误,例如
RemoteTransportException[[db06][inet[/IPREMOVED:9300]][indices:data/write/index]]; nested: IndexFailedEngineException[[messages_201503071849][1] Index failed for [message#586279]]; nested: FileNotFoundException[/data/nodes/0/indices/messages_201503071849/1/index/_1v70.fdx (Read-only file system)];
Run Code Online (Sandbox Code Playgroud)
有没有办法配置系统以更好地处理此错误(即,该节点将自己带出群集)?我们希望能够在这种情况下继续写入.
在启用慢速查询日志记录的情况下,我们看到很多COMMITs在我们的生产数据库上需要多秒才能完成.在调查中,这些通常是简单的事务:获取行,UPDATE行,COMMIT.这些特定事务中的SELECTs和UPDATEs未被记录为慢速.有什么我们可以做的,或者我们可以使用的工具,找出这些缓慢提交的原因?我们正在运行SSD,并且正在流式传输到奴隶,如果这有所不同的话.
如果我"显示服务器",它会返回40个结果.如果我同时连接到数据库并使用pg_stat_activity进行连接计数(仅计算与pgbouncer的连接),则会返回85个连接.我认为那些计数应该匹配.我有什么误会?CentOS 7,Pgbouncer 1.8.1,Postgresql 9.6.10.
我有一系列由 Python/SQLAlchemy 维护的相关表。如果我删除特定表中的一行,我希望能够在将来的某个时间点撤销该删除操作,以防出现错误。我可以使用 is_deleted 列并对其进行过滤来做到这一点,但是当我查询其他表以获取相关数据时,这变得很痛苦。我可以向所有其他表添加一个 is_deleted 列,当主表中的一行被删除时,将它们全部切换。但是对于所有表上的每个查询,我都必须对 is_deleted 进行过滤。可以做到,但我希望有更好的策略。
一个想法是将所有已删除的数据移动到另一组表中,该表仅存储已删除的数据。但是我不清楚 SQLAlchemy 是否允许我切换与特定对象关联的表。我认为这将是首选的解决方案,但我不知道是否可以完成。
另一个想法是我可以运行第二个数据库,并将删除的数据复制过来。但这增加了一层我想避免的管理复杂性。
任何想法将不胜感激。
Telegraf 1.9.0,Influxdb 1.7.4。我正在使用 filecount 输入插件来计算两个目录中的文件数量。这是 telegraf 的相关测试输出:
$ telegraf --config /etc/telegraf/telegraf.conf --test
2019-04-08T19:41:42Z I! Starting Telegraf 1.9.0
> filecount,directory=/var/lib/pgsql/9.6/data/pg_logical/snapshots,host=db02 count=113i 1554752503000000000
> filecount,directory=/var/lib/pgsql/9.6/data/pg_xlog,host=db02 count=569i 1554752503000000000
Run Code Online (Sandbox Code Playgroud)
当我使用 Chronograf 查找 influxdb 中的值时,根本没有 filecount 条目。我怎样才能找出问题所在?
我希望所有OSSEC通知都被路由到Slack会议室而不是电子邮件.2.9.Beta5有一个ossec-slack.sh主动响应脚本.我的ossec.conf的相关部分是:
<command>
<name>ossec-slack</name>
<executable>ossec-slack.sh</executable>
<expect>srcip</expect>
<timeout_allowed>no</timeout_allowed>
</command>
<active-response>
<command>ossec-slack</command>
<location>local</location>
<level>1</level>
</active-response>
Run Code Online (Sandbox Code Playgroud)
这适用于SSH登录(失败和成功),但据我所知,不会触发任何其他操作.我做错了什么/别人怎么做?这只是测试版软件是测试版软件吗?
python ×2
email ×1
influxdb ×1
mbox ×1
pgbouncer ×1
postgresql ×1
slack-api ×1
sqlalchemy ×1
telegraf ×1