我有一个旧的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的情况,但我无法弄清楚如何完成这项工作。
有什么建议吗?
感谢。文斯
答案 0 :(得分:0)
此处不需要命令sh
和tee
:
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命令完成时包含日期戳。