我的configuration文件server.conf具有以下格式 [general] setting1=sdfdsf setting2=asdfadsf [ssl] setting1=sadfsdf setting2=sdfadsfkljasdf 如何使用bash脚本将其他设置添加到“常规”节中?
我已经编写了一个脚本来同步(从头重新创build)一个生产数据库和一个开发数据库,并且我想了解潜在的安全缺陷/问题,这个脚本如下所示。 服务器出于安全目的禁用了远程访问,并且使用公钥authentication来pipe理sshauthentication。 #!/bin/bash #this is pretty seriously sketchy script… current_time=`date +%s` dump_file_name=/tmp/temporary_dump_$current_time.dump echo SSHing and dumping to $dump_file_name ssh -t [email protected] << EOT pg_dump -U postgres -Fc dbName > $dump_file_name PASSWORD #password in plain text exit EOT echo SCPing the file locally to: `pwd`$dump_file_name scp [email protected]:$dump_file_name $dump_file_name echo Cleaning up the remote file ssh -t […]
我已经修改了现成的Nagios插件perl脚本(理论上)根据远程linux服务器上文件的存在与否来返回1或0。 该脚本运行远程ssh会话并以nagios用户身份login。 远程Linux服务器为该用户设置了私钥,在bash命令行上,脚本按预期工作,但是作为插件运行时,即使文件不存在,也会返回“1”(真)。 一些帮助的逻辑或评论为什么事情不能按预期在Nagios内工作,将不胜感激。 我宁愿使用这种SSHlogin方法,而不是必须在所有的Linux服务器上安装nrpe。 从命令行运行(假设远程服务器有一个用户使用有效的私钥调用nagios): ./check_reboot_required -e ssh -H remote-servers-ip-addr -p 'filename-to-check' -v 助教。 #! /usr/bin/perl -w # # # License Information: # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either […]
我只是好奇,如果这是可能的。 我正在和dynagen / qemu(CCIE培训)合作,并希望能够运行脚本“x”为我打开10个窗口,所有这些窗口都被telnet到预定义的端口。 IE: 新的gnometerminal打开 – > telnet localhost 2001 新的gnometerminal打开 – > telnet localhost 2002 新的gnometerminal打开 – > telnet localhost 2003 新的gnometerminal打开 – > telnet localhost 2004 等等, 我已经做了我goohlin公平的份额,似乎无法拿出一个直接的答案。 谢谢您的帮助 :) 编辑:这是现在它是如何听: root@NiXToP:/home/***# netstat -na |grep 2001 tcp 0 0 0.0.0.0:2001 0.0.0.0:* LISTEN root@NiXToP:/home/***# netstat -na |grep 2002 tcp 0 0 0.0.0.0:2002 0.0.0.0:* […]
我需要使服务器以这种方式工作: 检查请求的文件是否存在于本地。 如果在那里,马上服务 如果不是,则将REQUEST_URI传递给将下载的脚本 如果该文件具有?delete = 1,则调用脚本将其删除 我已经用nginx(使用404error handling程序)和PHP成功实现了这个行为。 事情是要在另一台服务器上实现这个,我必须安装/编译nginx和php。 我的问题是,如果有一种方法可以从堆栈中删除PHP,并把nginx(或其他服务器)来完成这项工作。 对我来说,一个理想的方法是如果我可以直接从服务器运行/调用bash脚本/命令。 有没有人能指出我正确的方向?
我想写一个脚本,显示用户闲置多less分钟。 自键盘和鼠标的最后一次触摸。 例: #!/bin/bash while true do command_lines… … sleep 60 echo $var done 结果: 计算机/用户闲置1分钟。 电脑/用户闲置2分钟。 … 电脑/用户闲置5分钟。 … 我们能做到吗? 它可以在Bash,Python等
在一个CentOS设置我有这样的脚本: #! /bin/bash mysqldump –all-databases | gzip > /dumps/sql`date +"%Y-%m-%d-%$ scp `ls -t | head -1` root@backup:/media/storage/backup/ 机器configuration了授权的ssh密钥,所以不需要密码。 如果我运行它(/斌/ bash的mysql.sh)它的工作原理,但在cronjob只有mysqldump进行。 scp命令失败。 我在哪里寻找解决这个问题?
我想在脚本的一部分中运行一系列命令,如果返回非零退出状态,请停止。 而且, 在同一个脚本中 ,我希望最终的命令总是运行,不pipe之前是否有任何失败。 #!/usr/bin/env bash set -e ( # various commands go here ) &> /var/log/logfile final_command_that_always_runs /var/log/logfile 这可能吗? 也许我可以为脚本的一个()部分设置-e?
我是一名Windows(IIS)软件工程师,但是最近我被抛入Linux服务器pipe理员angular色,直到find能够填补这个位置的人。 我不以为耻,承认我不知道我在做什么。 目前我试图解决的问题是服务器只响应https请求。 但是, 我们也需要它来响应标准的http请求。 我们没有什么需要保持安全的方式去请求者。 我使用bash shell运行redhat linux。 如果有人可以告诉我如何启用http请求,我真的很感激它! 请确保你的回应是一步一步的,因为我有最小的命令行体验:/
什么是正确的地方把bash别名应该是每个人都可用? 我想这样设置,就是如果某些别名不可用于某人,那是因为它们在自己的环境中自己取代了它。