我有一个执行mySQL备份的shell脚本。我希望能够从浏览器中运行这些备份,所以我有一个python脚本,它使用os.system()
调用shell脚本。当从命令行运行时,脚本可以工作,但是当从浏览器访问URL运行时,shell脚本不能运行。
#!/usr/bin/python
import os
os.system("/srv/www/server_utils/mysql_backup.sh")
print "Content-Type: text/htmln"
print "mySQL Backups completed."
(print "Content-Type: text/htmln"
是用来防止500错误显示)
很可能备份脚本需要特定的权限才能运行(数据库的读权限,备份目录的写权限,或者两者都有),而web服务器没有这些权限。解决方案将取决于运行服务器的操作系统。