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

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

我正在开发一个在集群上运行并写入大量短数据的程序。首先,它输出到节点的暂存目录;完成后,它会将文件 rsync 到硬盘驱动器,然后从暂存中删除它们。如果没有这个步骤,程序经常会卡住。我在带有 Rocks 的 RedHat 集群上。

该程序并不完善,在开发过程中,许多用户可能会留下一些不需要的孤立文件(它们已经被 rsync 了)。

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

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

但是,我有以下疑问:

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

答案1

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

DRBD® 是指设计为构建块以形成高可用性 (HA) 集群的块设备。这是通过分配的网络镜像整个块设备来实现的。DRBD 可以理解为基于网络的 raid-1。

相关内容