如何将屏幕日志重定向到cassandra snapshotter 1.0.0的syslog

时间:2016-06-01 05:51:25

标签: python-2.7 cassandra

我使用cassandra snapshotter来备份群集并上传到S3但是当我执行备份命令时:

 cassandra-snapshotter --aws-access-key-id=xxxxxxxxxxxxx --aws-secret-access-key=xxxxxxxxxx --s3-bucket-name=xxxxx --s3-bucket-region=us-east-1 --s3-base-path=xxxx backup --hosts=xx.xx.xx.xx --keyspace xxxx  --user=xxxxx --password=xxxxx

并在屏幕上打印以下日志。

 [xx.xx.xx.xx] sudo: cassandra-snapshotter-agent --incremental_backups put --   s3-bucket-name=xxxx --s3-bucket-region=us-east-1  --s3-base-path=xxxxxxx/20160531104350/xx.xx.xx.xx --manifest=/tmp/backupmanifest --bufsize=64 --concurrency=4 --aws-access-key-id=xxxxxx --aws-secret-access-key=xxxxx
 [xx.xx.xx.xx] out: lzop 1.03
 [xx.xx.xx.xx] out: LZO library 2.06
 [xx.xx.xx.xx] out: Copyright (C) 1996-2010 Markus Franz Xaver Johannes Oberhumer
 [xx.xx.xx.xx] out: 
 [xx.xx.xx.xx] out: cassandra_snapshotter.agent INFO    MSG: Initialized multipart upload for file /var/lib/cassandra/data/test/my_table-3035993026f911e695834dae91308d63/snapshots/20160531124729/test-my_table-ka-24-Index.db to 20160519/20160531124729/xx.xx.xx.xx//var/lib/cassandra/data/test/my_table-3035993026f911e695834dae91308d63/snapshots/20160531124729/test-my_table-ka-24-Index.db.lzo
 .......
 .......

我想将屏幕日志移到dev / log / syslog中。如何通过小的更改代码将以下日志移动到特定文件中。 是否可以重定向日志?

在cassandra_snapshotter 1.0.0中,logging_helper.py中已存在代码及其工作原理以及重定向日志的位置。 任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

cassandra-snapshotter <args> | logger

看起来lzop输出是从utils.py中的compressed_pipe生成的,每次使用fabric.api.sudo的调用都将回显到stdout(请参阅http://docs.fabfile.org/en/1.11/api/core/operations.html#fabric.operations.run)。这些不是由logging_helper.py中的configure中配置的日志记录处理程序处理的。

要获取发送到syslog的cassandra-snapshotter调用的stdout,我希望你可以使用logger,它在手册页中是“syslog(3)系统的shell命令接口”日志模块“(见http://linux.die.net/man/1/logger)。