ssh tunneled命令输出到文件

时间:2013-12-12 11:36:10

标签: linux bash ssh

我有一个旧的Syno NAS,并希望使用“shred”命令擦除内部的磁盘。我们的想法是让命令在盒子上运行,而不需要计算机。

到目前为止,我已经成功... 1)为'shred'获取正确的参数 *使用&在后台运行 2)获取该命令以将进度(-v选项)输出到文件shred.txt *从文件中看到进展情况

shred -v -f -z -n 2 /dev/hdd 2>&1 | tee /volume1/backup/shred.txt &

3)ssh隧道命令,这样我可以在运行时关闭笔记本电脑

ssh -n -f root@host "sh -c 'nohup /opt/bin/shred -f -z -n 2 /dev/sdd > /dev/null 2>&1 &'"

问题是我无法结合2)和3) 我试着像这样组合它们,但结果文件仍然是空的:

ssh -n -f root@host "sh -c 'nohup /opt/bin/shred -f -z -n 2 /dev/sdd 2>&1 | tee /volume1/backup/shred.txt > /dev/null &'"

可能是NOOBS的情况,但我无法弄清楚如何完成这项工作。

有什么建议吗?

感谢。文斯

2 个答案:

答案 0 :(得分:0)

此处不需要命令shtee

ssh -n root@host 'nohup /opt/bin/shred -f -z -n 2 /dev/sdd 2>&1 >/volume1/backup/shred.txt &' >/dev/null

最终>/dev/null是可选的,它只会忽略来自其他主机的任何问候语。

答案 1 :(得分:0)

尝试了以下命令(基于Grzegorz的建议),并包括开场日期戳和前面提到的 - 愚蠢忘记 - 详细的开关。命令字符串的最新版本:

ssh -n root@host 'date > /volume1/backup/shred_sda.txt; nohup /opt/bin/shred -v -f -z -n 4 /dev/sda 2>&1 >> /volume1/backup/shred_sda.txt @ >/dev/null'

最后要弄清楚的是如何在shred命令完成时包含日期戳。