删除RedHat集群上所有节点上的所有文件?

我正在开发一个在群集上运行的程序,并写了很多短的位。 首先,它输出到节点的暂存目录; 当它完成时,它将文件rsyncs硬盘驱动器,然后从头开始删除它们。 没有这一步,程序经常卡住。 我正在使用Rocks的RedHat群集。

该程序并不完美,在开发过程中,许多用户可能会将不需要的文件从零开始孤立(它们已经被rsync'd)。

对于我自己的文件,我使用这个脚本来摆脱孤立的文件:

for i in {1..24} do ssh compute-0-$i "rm -rf /scratch/*` done 

但是,我有以下问题:

  1. 这是否违反任何“最佳实践”规则?
  2. 每当有人运行时,删除所有用户的文件,我必须chmod -R a+rw /scratch

  1. 没有真正的定义“最佳实践规则”,所以你不要“违反”任何东西,只要它工作:))
  2. 不是很确定你的意思,但做一些像chmod -R a + w通常不是一个好主意(就安全性而言),这意味着系统上的任何用户(甚至可能是apache)知道你有这样的访问权限写任何东西,并可能执行。
  3. 尝试下面的项目,你可能会发现它对你更有用(它会保持一切在同步中,所以你不必运行你的shell脚本来做到这一点在多个服务器上,而是只删除本地,然后去去复制到你的所有节点。

DRBD®是指被devise为构build块以形成高可用性(HA)集群的块设备。 这是通过一个分配的networking镜像整个块设备来完成的。 DRBD可以理解为基于networking的raid-1。