标签:数据库备份 google specified 配置文件 present
最近在公司里自己写的发布系统中遇到一个问题,发布系统其中有一个功能是远程执行数据库备份的功能,就是通过远程执行服务器上的一个备份脚本。备份脚本中会检查备份目录是否存在,如果不存在,则会创建备份目录。由于远程用户非root,所以创建目录时就加上了sudo 。在通过发布系统执行远程备份时,出现如下报错:
5sudo: no tty present and no askpass program specified
网上查询google ,需要修改sudo的配置文件。解决办法:
1. 注释Defaults requiretty
Defaults requiretty修改为 #Defaults requiretty, 表示不需要控制终端。
否则会出现sudo: sorry, you must have a tty to run sudo
2. 增加行 Defaults visiblepw
否则会出现 sudo: no tty present and no askpass program specified
我发现sudo-1.6.9p17-5.el5是不支持这个参数的,sudo-1.7.2p1-10.el5支持。
第一个问题,碰到过。第二个我没有试过。
不过我觉得如果可以避免的话,尽量不要远程执行sudo命令了,太麻烦了,又要改配置文件,又要适应环境。
还不如用曲线的办法,先建目录,不用远程sudo。所以要慎用远程sudo
本文出自 “恒行无忌的博客” 博客,请务必保留此出处http://liheng2011.blog.51cto.com/3091246/1639381
标签:数据库备份 google specified 配置文件 present
原文地址:http://liheng2011.blog.51cto.com/3091246/1639381