在 Ubuntu 18.04 上,我正在运行一个小型 PHP Web 应用程序,该应用程序通过方法将目录连同嵌套目录和文件从一个文件系统逐个移动到另一个文件系统exec(mv filepath)
。
现在我遇到的问题是,当嵌套目录或文件缺少读取权限或以某种方式损坏时,它mv
会失败(因为它无法删除目录中的文件)源码)但此时数据已经移入目的地。
这意味着最后我有一个完全复制的目录目的地并且仍然是目录源码但仅限于权限无效或已损坏的目录/文件。我不想要这种行为。一旦因mv
任何原因失败,它应该恢复整个过程/离开源码因为它是。
在我的 PHP 脚本中,我已经检查了是否mv
失败。如果是,我可以检查目录是否存在于目的地并mv
返回源码。
但是没有更好/更简单的方法来实现这种行为吗?