如何从Django视图rsync到本地文件夹

Seb*_*ian 5 python django rsync subprocess

我有一个站点,要求登录管理员能够将登台数据库推送到实时数据库.它首先做的是转储sql并推送到目标数据库.这工作正常,但当我去rsync包含上传材料的文件夹时,我收到一个错误.仅当从视图中调用脚本而不是从命令行或python shell调用脚本时,才会发生此情况.这是功能:

def copy_media(self, origin_folder, target_folder):
    command_string = "rsync -a %s %s" % (origin_folder, target_folder)
    return_code = subprocess.call(command_string, shell=True)
    return return_code
Run Code Online (Sandbox Code Playgroud)

错误时返回代码为"12".我最好的猜测是,由于在脚本完成执行之前有相当长的延迟,因此视图不知道如何正确等待它结束.另一个猜测是,路径以某种方式从视图中被搞砸了.

lee*_*ech 1

检查您的服务器的权限,它可能与您使用命令行时的用户/权限不同,因此无法执行该命令。