小编Mad*_*Ady的帖子

iptables 在没有 DNAT 的情况下更改目标 IP

我正在尝试解决一个损坏的应用程序,该应用程序坚持连接到服务器的私有地址(因此无法访问),而不是连接到公共地址(即使相关端口已打开)。更改应用程序不是一种选择。

我正在尝试在客户端上添加 iptables 规则,以将去往 192.168.251.3 的数据包的目标 IP 改为去往 1.2.3.4。DNAT 不起作用,因为 1.2.3.4 不是我的任何客户端接口上的 IP。

任何人都可以指出我可以使用 MANGLE 更改目标 IP 的相关文档吗?

iptables

9
推荐指数
1
解决办法
2万
查看次数

在 Linux 下如何强制进程刷新写入打开文件描述符的数据?

我有一个在嵌入式 Linux 系统上运行的二进制进程(没有可用的源)。该进程会打开一个日志文件 (/tmp/dmaosd.log),在其中记录其正在执行的操作。

问题是日志以块的形式更新(一次大约 1000 个字节),所以我无法使用 tail -f 实时查看日志。

我想知道是否有任何方法可以强制正在运行的进程刷新其数据(基于访问 /proc/1234/fd/3)而无需访问其源并且不向其发送任何信号(我不确定是什么信号它支持也不支持他们应该做什么)。

所讨论的过程是媒体播放器的 OSD,日志信息通常显示屏幕上选择/显示了哪些元素,因此最好尽快获得数据。

谢谢!

log-files realtime process max-file-descriptors

5
推荐指数
1
解决办法
7064
查看次数

将今天的 borg 备份转移到不同的存储库

这是我当前的备份策略。我有一堆(假设有 200 台)服务器运行定期 borg 备份脚本(通过此 ansible 角色部署:https: //github.com/mad-ady/ansible-role-borgbackup)到中央备份服务器, SSH。

每台服务器都有自己的 ssh 用户、远程备份服务器上自己的主目录和存储库。并且备份工作正常(关于压缩/重复数据删除)!:)

现在,我希望能够定期拍摄“今天的备份”的快照,并将它们放在不同的存储上以实现冗余。我想避免获取整个存储库(例如运行 rsync),因为本地备份服务器有相当大的保留策略(例如保留最近 6 个月的每日备份),而异地服务器的存储/带宽有限。一些备份数据可以很好地进行重复数据删除,而其他数据则非常动态,并且重复数据删除效果很差。

所以,我的问题是 - 有没有办法将特定的备份快照从 borg 存储库传输到不同的 borg 存储库?我可以迭代每个存储库并提取今天的备份(这是一个示例):

_etc-20210615-0105                   Tue, 2021-06-15 01:05:04 [d382788354e3e5a535fd570cea2fe741e1c69734c14d43ec6e59f856dadab83c]
_var_www_html-20210615-0105          Tue, 2021-06-15 01:05:24 [e46d6ad7313e158172a46f0908bf3b16f450d06d2c410a0c612fe0453f18871e]
_var_spool_cron-20210615-0105        Tue, 2021-06-15 01:05:48 [0f50160706d97754a3a6620456f350d477aa8797d9a43a1de0f8bfcb06531f79]
mysqldump-20210615-0105              Tue, 2021-06-15 01:05:53 [258f604bf4d1c2196c3e1df14878c78e56560b2c9c839a2e666efa27ddd6ac8d]
Run Code Online (Sandbox Code Playgroud)

...但是我如何将它们转移到不同的存储库(理想情况下不将它们恢复到临时文件夹并重新存档)?我能想到的一种方法是挂载每个存档,然后在其上运行 borg。这将防止额外的磁盘使用,但意味着解压缩和重新压缩数据......

谢谢!

borg-backup

5
推荐指数
0
解决办法
410
查看次数