主机脚本
1、为了脚本在目标主机执行命令,你需要实现ssh无密码访问目标主机
2、ip.txt每行一个ip,新主机名包含ip,-p22不是必须的,可以去掉,或者替换成ssh定制的端口。
3、实例
#!/bin/bash
for dst_ip in `cat ip.txt`;do
HOSTNAME=`ssh -p22 root@$dst_ip "hostname"`
NEWNAME=server_${dst_ip}
ssh -p22 root@$dst_ip 'sed -i 's!${HOSTNAME}!${NEWNAME}!g' /etc/sysconfig/network'
ssh -p22 root@$dst_ip 'service syslog restart'
done
2. 如何取消服务器/主机空间目录脚本的执行权限
Apache下目录脚本的执行权限设置
独立主机配置
首先我们找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中。
打开httpd.conf文件,将需要限制执行脚本文件的目录配置添加到下方:
配置内容为:
1 <Directory"DIR">
2 <FilesMatch".(php|asp|jsp)$">
3 Deny from all
4 </FilesMatch>
5 </Directory>
配置内容中的DIR为需要限制执行脚本文件的目录,FilesMatch后的内容为需要限定的执行的脚本后缀名。例如:这里需要禁止测试站点uploads文件夹下的PHP,ASP,JSP脚本的运行,
在配置完成后,重启一下apache,配置便生效!
在操作前,uploads文件夹下我新建了一个index.php文件,
虚拟主机/空间配置
在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。
规则内容如下:
1 RewriteEngine on RewriteCond % !^$
2 RewriteRule uploads/(.*).(php)$ – [F]
3 RewriteRule data/(.*).(php)$ – [F]
4 RewriteRule templets/(.*).(php)$ – [F]
针对uploads,data,templets 三个目录做了执行php脚本限制;
将如上内容存储至到.hatccess文件中,将该文件存放到你的站点根目录下,
这样,目录脚本的执行权限就控制好了
3. reboot.vbs 远程重启主机的脚本 是啥啊,咋用啊,我被整了~~
绿鹰PC万能精灵的免费版,有WINDOWS设置
4. 在网上弄了个虚拟主机 上面的脚本是什么意思
如果是国内的虚拟主机,很多好像不支持你说的那种语言的哦。
asp脚本就是微软的系统自带的,
PHP一般就是另外一个系统结合的,这个做网站的,你的网页是使用asp语言做的呢,还是使用PHP做的,选择相对应的就是了,
至于你说的JAVA,那么你要看清楚这个虚拟主机是不是支持的,很多虚拟主机不支持这个的哦
5. 如何编写网页脚本,并导入主机
第一步: 设置免密码登录 请参考 如何ssh免密码登录linux服务器
第二步:输入以下代码后(注意最后一行的199.101.117.xx改成你自己的那个服务器地址) 保存退出
[root@niko ~]# vi backup.sh
#!/bin/bash backdir=/backup month=`date +%m` day=`date +%d` year=`date +%Y` dirname=$year-$month-$day mkdir -p $backdir/$dirname mkdir -p $backdir/$dirname/conf mkdir -p $backdir/$dirname/web mkdir -p $backdir/$dirname/db gzupload=upload.tgz cp /etc/httpd/conf/httpd.conf $backdir/$dirname/conf/httpd.conf cd /var/www/html/ tar -zcvf $backdir/$dirname/web/$gzupload ./ scp -r /backup/$dirname [email protected]:/backup
第三步 crontab -e 设置每日定时
[root@niko ~]# crontab -e
第四步 设置每日的10:28分运行backup.sh脚本,注意脚本名最好写绝对路径
28 10 * * * /root/backup.sh
第五步 设置脚本运行权限
[root@niko ~]#chmod +x /root/backup.sh
第六步 在另一台也就是要存放备份的服务器上新建backup这个文件夹
[root@testvpn backup]#mkdir /backup
6. 如何实现在所有的远程主机上执行脚本的功能
ssh root@ip "...所安装命令写处"
或者
写mysql安装脚本假设mysql.sh
ssh root@ip < mysql.sh
7. 我有50台服务器,现在需要一个脚本,统一停止全部主机的某个进程,这个脚本怎么写
你要一个主控统一管理的话,必须每个服务器安装个被控才可以。
只有找人定制,可以找护卫神试试。
8. linux shell脚本写一个PING主机命令
while true
do
if [ `ping -c 1 192.168.0.2|grep 100%|wc -l` -ne 0 ];then
echo diaoxian_192.168.0.2 >>log2
fi
done
9. shell脚本中如何实现跳过好几台主机到达另外一台主机
最简单的是做基于ssh信任,实现主机间无密码登陆。
10. 怎样写一个本地shell脚本来远程主机上的shell脚本
安装CentOS下安装命令很简单,如下sudoyuminstallexpect至于Mac用户,可以通过homebrew安装(需要先安装homebrew,请自行Google)brewinstallexpect测试脚本我们写一个简单的脚本实现scp拷贝文件,在脚本里配置密码,保存为scp.exp如下#!/usr/bin/expectsettimeout20if{[llength$argv]<2}{puts"Usage:"puts"$argv0local_fileremote_path"exit1}setlocal_file[lindex$argv0]setremote_path[lindex$argv1]setpasswdyour_passwdsetpasswderror0spawnscp$local_file$remote_pathexpect{"*assword:*"{if{$passwderror==1}{puts"passwdiserror"exit2}"$passwd\r"exp_continue}"*es/no)?*"{send"yes\r"exp_continue}timeout{puts"connectistimeout"exit3}}注意,第一行很重要,通常我们的脚本里第一行是#!/bin/bash,而这里是你机器上expect程序的路径,说明这段脚本是由expect来解释执行的,而不是由bash解释执行,所以代码的语法和shell脚本也是不一样的,其中setpasswdyour_passwd设置成你自己的密码,然后执行如下命令./scp.exp./local_fileuser@host:/xx/yy/执行前确保scp.exp有执行权限,第一个参数为你本地文件,第二个为远程主机的目录,运行脚本如果报错“connectistimeout”,可以把超时设长一点,第二行settimeout20可以设置超时时间,单位是秒。脚本执行效果如下还能做什么细心的同学一定发现了,其实expect提供的是和终端的一种交互机制,输入密码只是其中一种应用形式,只要是在终端阻塞需要输入时,都可以通过expect脚本完成自动输入,比如前面脚本里配置了两种交互场景,一种是终端提示"password:"时输入密码,还有一种是提示"yes/no)?"时输入“yes”,如果和远程主机是第一次建立连接,执行scp.exp脚本效果是这样的所以我们可以根据终端的提示来配置输入命令,这样就能达到了自动化的效果。至于处理其它交互场景,只需要照着上面的脚本依葫芦画瓢就行了