一段时间以来,我一直使用 rsync/ssh 将我的共享主机内容备份到我的个人 Synology NAS(212j),并且效果很好。有关信息,我使用无密码ssh
连接。
3 天前,我更新了我的 NAS 软件,因为(或者至少我相信是从那以后),备份将不再起作用。我在主机上收到以下错误:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
Run Code Online (Sandbox Code Playgroud)
..我不明白。除了我所知道的与rsync
or相关的源和目标中没有任何变化之外ssh
,我确实检查了一些事情,一切似乎都很好:
ssh
好用户从主机连接到我的 NAS,所以像密钥这样的 ssh 东西没有改变。rsync
through使用的用户创建文件、目录等ssh
)。我在这里和那里读到错误意味着我必须确保我rsyncd.conf
拥有read only = no
它的权利,但据我所知,我从来没有使用rsyncd
过,因为我从来没有为它配置过任何东西,直到现在它就像一个魅力。 .
我使用以下命令进行备份:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Run Code Online (Sandbox Code Playgroud)
所以我被卡住了,真的无法弄清楚发生了什么。
编辑:
正如评论中所建议的那样,我还尝试将命令传递给 ssh(但不是从 ssh …
我试图编写我的规则,以仅使用 http/https、apt-get 更新、发送邮件 SSH 访问来保护 Web 服务器。到目前为止,我已经做到了:
IPT=/sbin/iptables
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
#
$IPT -A INPUT -m state --STATE ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --STATE ESTABLISHED,RELATED -j ACCEPT
#
# Allow All for SSH
$IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -o …
Run Code Online (Sandbox Code Playgroud)