在bash脚本中执行mysql数据库的根操作的最佳做法是什么? 例如,我想创build新的数据库和授予权限,我必须使用: mysql -u $ROOT -p"$ROOTPASS" -e "create database $DBNAME; GRANT ALL PRIVILEGES ON $DBNAME.* T $DBUSER@localhost IDENTIFIED BY $DBPASS"; 但是这需要在脚本本身中存储root用户的mysql密码。 有没有更安全的方法? 我应该为此创build单独的用户吗? 如何设置权限? 单独的事情是如何testing操作是否成功,如果不成功,则恢复成功的更改(事务?)
我发现这个解决scheme适用于我,但我不明白它是如何工作的,因为sed命令在单引号中包含了自己的参数,并且整个ssh命令也在单引号中传递。 这是从OSX(bsd)运行。 ssh -t -p 22 root@thehost 'for user in $(/bin/ls -A1 /var/cpanel/users) ; do if grep -q RS=paper /var/cpanel/users/${user}; then sed -i 's/^RS=paper_lantern$/RS=x3/' /var/cpanel/users/${user}; fi; done' 有人可以向我解释为什么这个工作,为什么我不需要逃避sed命令的单引号 – 我找不到任何地方的参考? 谢谢。
有没有办法执行ps ax | grep java 没有它包装在terminal上的ps ax | grep java ?
我远程SSHlogin作为根(使用PUTTY), bash shell提示符变成: [root@yukiko /]# 当我input时: getent passwd 我看到的第一行是这个: root:x:0:0:root:/root:/bin/bash bash shell提示符不应该是这个样子吗? (它对应于/ etc / passwd中的第一行)? [root /]# 这是安装CentOS的VPS服务器,yukiko是我提供给托pipe公司的所需客户loginID。
我正在寻找一个可以做一些备份的cron脚本。 即时通讯大多是一个Web开发人员,所以是一种新鲜的bash / cron的东西。 我希望cron将每天一次将“filelist.txt”中的所有文件或目录复制到安装的networking存储驱动器中。 理想情况下,它将在我所有的3个盒子,1个fedora 1 ubuntu和1个sunos上工作(每个文件夹都有diff文件名) 棘手的部分是:我只想保存最近7天的备份,并删除任何比这更早的备份
如果我在/ etc / profile中执行此操作,它似乎不起作用。 export SHELL="/bin/bash/"
我正在尝试编写一个BASH脚本来testing我拥有的FTP站点是否正在运行。 因此,我想让bash脚本连接到FTP站点,用一个虚拟帐户login并将输出redirect到一个文件,然后我可以grep来确认login成功。 (我知道把用户/传入一个文件不build议,但这个虚拟帐户被chrooted到一个空目录,不能逃到shell,在任何情况下,我是唯一的用户可以login到shell提示。) 我在Ubuntu上使用BASH shell。 我创build了一个名为“ftp-dummy”的文件,看起来像这样 username password 然后我从提示符中做了这个: adam$ ftp my.ftpsite.com < ftp-dummy 这不起作用 – 我没有看到正常的欢迎消息,输出是: Password:Name (my.ftpsite.com:adam) : 我试图删除<和文件名之间的空间 – 相同的结果。 如果我将输出redirect到一个testing文件,testing文件显示: Name (my.ftpsite.com:adam): ?Invalid command 我仍然在STDOUT上得到密码提示 我也尝试使用回声,并得到相同的结果: echo -e "username \npassword \n" | ftp my.ftpsite.com 我不明白为什么我没有看到正常的欢迎消息或为什么input不被从文件中读取。 任何帮助将非常感激。 谢谢, 亚当
我想从服务器上的目录传输特定types的文件。 所以这里是现场: 目录结构是 公司/ COMPA / FILEDIR / 公司/ COMPB / FILEDIR / 公司/使用compc / FILEDIR / 所以我想把* .csv文件从每个公司的filedir目录移动到其他服务器。 我想用ssh进行文件传输。 有没有人在shell脚本中使用ssh进行文件传输? 你如何处理这种情况?
我在bash脚本中运行以下内容: nohup java server_program.jar & 我想要开始跑步,并开始快乐的方式。 然而,由于某种原因,它说它忽略了input等,并等待一个额外的返回击键。 我可以删除这个等待或从bash脚本内发送额外的返回?
我在我的shell脚本中使用“scp”命令。 如果该命令不起作用,如何获取错误日志。 这是我如何使用它的scp file username@servername:/specificdirectory/