海运的博客

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'
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...