笔记--Linux
shell
chkconfig 命令
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
Connecting to 10.9.233.72:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Sat Oct 8 15:22:59 2016 from 10.9.235.30 [root@autotest72 ~]# chkconfig --list NetworkManager NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@autotest72 ~]# chkconfig NetworkManager off [root@autotest72 ~]# chkconfig --list NetworkManager NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
参考:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796873.html
curl get问题
例如
url 为 http://mywebsite.com/index.PHP?a=1&b=2&c=3
web形式下访问url地址,使用$_GET是可以获取到所有的参数
然而在Linux下
curl http://mywebsite.com/index.php?a=1&b=2&c=3
$_GET只能获取到参数a
由于url中有&,其他参数获取不到,在linux系统中& 会使进程系统后台运行
必须对&进行下转义才能$_GET获取到所有参数
curl http://mywebsite.com/index.php?a=1\&b=2\&c=3
shell 时间 date 获取
`
[root48@vmaxverserver Qimingxing4AutoTestCoverageRate]$ date +%F-%T 2016-10-20-10:20:41
`
参考:http://blog.csdn.net/nowayings/article/details/48492497
cron 表达式
参考:http://www.cnblogs.com/linjiqin/archive/2013/07/08/3178452.html
等于/不等于/大于/小于
-eq //等于 -ne //不等于 -gt //大于 -lt //小于 ge //大于等于 le //小于等于
修改hostname:
/etc/hosts 和 /etc/sysconfig/network 两个文件
升级中脚本:
#!/bin/sh scriptPath=$1 sh /home/upgrade/shutdown.sh cd $scriptPath for i in *updating.sh do hostName=echo $i|cut -d _ -f 1 runAt=echo $i|cut -d _ -f 2|cut -d . -f 1 sh /home/upgrade/upgrade.sh $hostName $runAt $scriptPath/$i done sh /home/upgrade/startup.sh
& 后台执行
scp 回显写入log:
- echo "script -a \$basedir/conf/scp_drs_ftpini.log -q -c \"ssh \$scpuser@\$sybaseip mkdir -p \$scppath\"" >> $output
- echo "script -a \$basedir/conf/scp_drs_ftpini.log -q -c \"scp \$configFile \$scpuser@\$sybaseip:\$scppath\"" >> $output
- echo "script -a \$basedir/conf/scp_drs_ftpini.log -q -c \"ssh \$scpuser@\$sybaseip chmod 777 -R \$scppath\"" >> $output
- echo "exit" >> $output
参考自:http://bbs.chinaunix.net/thread-4103971-1-1.html
-------------*_*---------------------------------------2015/8/31---------------------------*_*--------------------
备份文件:
- basedir=$(pwd)
- bakpath=/home/bak_netnumen
- if [ "$bakpath" ]; then
- rm -rf $bakpath
- fi
- ds=$(ls $basedir | grep -E 'vmax-app|vmax-data')
- for s in ${ds[@]}
- do
- mkdir -p $bakpath/$s
- cp -r $s/database $bakpath/$s
- done
1.获取当前目录的绝对路径,并赋值给 basedir
3.判断某个目录是否存在,([] 内 左右空格不能少)
6.ls 某个目录,并用"grep -E" 查找 包含"vamx-app"或者"vmax-data"的项
7.for 每一项,do ...