windows和linux分区脚本

来源:互联网 发布:php 类destroy 编辑:程序博客网 时间:2024/06/15 14:33

客户需求

  • 对windows 7 磁盘未分区对部分,变成一块新分区挂在我的电脑上

解决方法

C:\Windows\System32\cmd.exe /C setlocal disabledelayedexpansion & >tempfile.bat echo (echo list disk)^|diskpart^|findstr "磁盘.[0-9]"^|find /c "磁盘" ^> diskAmount & >>tempfile.bat echo set /p str=^<diskAmount & >>tempfile.bat echo del /s /q diskAmount & >>tempfile.bat echo set /a diskNum=%str%-1 & >>tempfile.bat echo echo select disk %diskNum% ^>temp.f2c & >>tempfile.bat echo echo detail disk ^>^>temp.f2c & >>tempfile.bat echo diskpart /s temp.f2c^|findstr "没有卷"^|find /c "没有卷" ^> detailDisk & >>tempfile.bat echo set /p diskEmpty=^<detailDisk & >>tempfile.bat echo del /s /q detailDisk & >>tempfile.bat echo if %diskEmpty%==0 (exit) & >>tempfile.bat echo echo select disk %diskNum% ^>temp.f2c & >>tempfile.bat echo echo clean ^>^>temp.f2c & >>tempfile.bat echo echo convert gpt ^>^>temp.f2c & >>tempfile.bat echo echo create partition primary ^>^>temp.f2c & >>tempfile.bat echo echo format fs=ntfs quick ^>^>temp.f2c & >>tempfile.bat echo echo assign ^>^>temp.f2c & >>tempfile.bat echo diskpart /s temp.f2c ^>partitionResult.tmp 

  • 对Linux的新磁盘,添加到卷组里面,建立一个新的逻辑剧卷,mount在/data目录下
    解决方法
#!/bin/bashfunction check_execution_result(){        if [[ ! -z $RETVAL ]]; then                unset RETVAL        fi        RETVAL=$?        if [[ $RETVAL -ne 0 ]]; then                echo execution failed!                 exit $RETVAL        else                echo execution successfully!         fi        unset RETVAL}echo "- - -" >/sys/class/scsi_host/host0/scanecho "- - -" >/sys/class/scsi_host/host1/scanecho "- - -" >/sys/class/scsi_host/host2/scanONLINE_SCSI_DISK_NEWADD=$(lsblk --all | grep disk | grep -v fd | awk '{print $1}'|sed -n '$p'| sed 's/ //g')echo New Added SCSI Disk: $ONLINE_SCSI_DISK_NEWADDVG_Name=$(vgdisplay | grep 'VG Name' | awk '{print $NF}')ONLINE_SCSI_DISK_NEWADD_FILENAME="/dev/"$ONLINE_SCSI_DISK_NEWADDLVM_OPERATION_DISK_FILENAME=$ONLINE_SCSI_DISK_NEWADD_FILENAMEpvcreate $LVM_OPERATION_DISK_FILENAME >/dev/null 2>&1check_execution_resultvgextend $VG_Name $LVM_OPERATION_DISK_FILENAME >/dev/null 2>&1check_execution_resultlvcreate $VG_Name  -l 100%FREE --name /dev/$VG_Name/lv_datacheck_execution_resultmkfs.ext4 /dev/$VG_Name/lv_datacheck_execution_resultif [ ! -d /data ];then    mkdir /datafi    check_execution_resultmount /dev/$VG_Name/lv_data /datacheck_execution_resultsed  '8a /dev/mapper/'$VG_Name'-lv_data /data                       ext4    defaults        1 1' /etc/fstab  sed -i '8a /dev/mapper/'$VG_Name'-lv_data /data                       ext4    defaults        1 1' /etc/fstab  check_execution_resultdf -hlsblk --all

注意:

对bat脚本,win7验证成功。对sh脚本,centos和redhat验证成功。
原创粉丝点击