海运的博客

XenServer获取所有VM虚拟机IP及对应MAC地址

发布时间:November 20, 2012 // 分类:虚拟化,Shell // 1 Comment

XenServer5.6下编写,用于获取所有VM虚拟机IP和对应MAC地址,Shell脚本如下:

#!/bin/bash
#https://www.haiyun.me
if [[ ! -e mac-ip.txt ]];
then
        touch mac-ip.txt
else
        > mac-ip.txt
fi
for vps in `xe vm-list |awk '/name/ {print $4}'`
do
        case $vps in
                *"Control"* ) continue ;;
        esac
        writeline=`xe vif-list vm-name-label=$vps params=MAC|awk '/MAC/ {print $5}'`
        writeline+=" "
        writeline+=`xe vm-list name-label=$vps params=networks|awk '/network/ {print $5}'`
        echo $writeline >> mac-ip.txt
done

XenServer获取VM虚拟机名称与MAC地址参考:https://www.haiyun.me/archives/xenserver-vmname-mac.html

此内容被密码保护

发布时间:November 19, 2012 // 分类:虚拟化 // No Comments

请输入密码访问

Linux下多种方法删除重复行/列

发布时间:November 19, 2012 // 分类:Shell // No Comments

Linux下文本处理工具很丰富很强大,去重复行可用以下方法:

cat log 
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.2

使用uniq/sort删除重复行,仅能对整行操作。

uniq log 
sort -u log 
uniq log 
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.2

使用awk按列删除重复行,也可按多列或整行操作。

awk '!i[$1]++' log 
www.haiyun.me 192.168.1.1

使用sed删除重复行:

sed '$!N; /^\(.*\)\n\1$/!P; D' log
www.haiyun.me 192.168.1.1
www.haiyun.me 192.168.1.2

XenServer获取所有VM虚拟机名称及对应MAC地址

发布时间:November 19, 2012 // 分类:虚拟化,Shell // No Comments

XenServer5.6测试通过,用于查找所有VM及其对应MAC地址写入output.csv文件,直接下载shell脚本

#!/bin/bash
#https://www.haiyun.me
if [ $(whoami) != 'root' ];
then
    echo "Must be root to run $0"
    exit 1;
fi

if [[ ! -e output.csv ]];
then
    touch output.csv
else
    > output.csv
fi

for vmuuid in `xe vm-list | awk -F ':'  '/^uuid/ {print $2}'` ;
do
    namelabel=`xe vm-param-get uuid=$vmuuid param-name=name-label`
    case $namelabel in
        *"Control domain"* ) continue ;;
    esac
    i=`xe vif-list vm-name-label="$namelabel" | grep device | wc -l`
    writeline="\"$namelabel\""
    writeline+=","
    for ((j=0;j<$i;j++))
    do
        mac=`xe vif-list vm-name-label="$namelabel" params=MAC device=$j | awk -F': ' '/^MAC/ {print $2}'`
        if [ -z "$mac" ]
        then
            i=`expr $i + 1`
            continue
        else
            writeline+=$mac
        fi
        if [ $j -lt `expr $i - 1` ]
        then
            writeline+=","
        fi
    done
    echo "$writeline" >> output.csv
done
echo "VMs and their respective MAC addresses have been written to output.csv in the current directory."
exit 0

SQL2008数据库恢复错误用户组当前数据库中已存在

发布时间:November 16, 2012 // 分类:数据库 // No Comments

SQL2008备份后恢复设定用户权限的时候提示用户、组或角色在当前数据库中已存在:
SQL2008用户组角色已存在.png
原因SQL数据库中包含一组用户和权限,使用存储过程sp_change_users_login更新用户数据库权限:

Use [dbname]
go
sp_change_users_login 'update_one', 'user', 'user'
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...