Можно, возможно, использовать SNMP, если SNMP позволяется/допускается сервис DHCP на Windows Server. Используя запросы SNMP, можно создать статистику информации об арендном договоре время от времени удаленно от сервиса DHCP.
$snmp_address = "1.3.6.1.4.1.311.1.3.2.1.1.1";
$getsubnet = "snmpgetnext -v2c -c public -Oqv win_dhcp_server_ip $snmp_address |";
лучшее описание в https://lists.isc.org/pipermail/bind-users/2004-November/054007.html
Можно сделать это через файл /etc/fstab
. Смотрите на эту ссылку. Это учебное руководство также имеет хорошие детали.
Сначала необходимо узнать UUID жестких дисков. Можно использовать команду blkid
для этого. Например:
% sudo blkid
/dev/sda1: TYPE="ntfs" UUID="A0F0582EF0580CC2"
/dev/sda2: UUID="8c2da865-13f4-47a2-9c92-2f31738469e8" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: TYPE="swap" UUID="5641913f-9bcc-4d8a-8bcb-ddfc3159e70f"
/dev/sda5: UUID="FAB008D6B0089AF1" TYPE="ntfs"
/dev/sdb1: UUID="32c61b65-f2f8-4041-a5d5-3d5ef4182723" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb2: UUID="41c22818-fbad-4da6-8196-c816df0b7aa8" SEC_TYPE="ext2" TYPE="ext3"
Вывод от blkid
команда выше может использоваться для идентификации жесткого диска при добавлении записей в /etc/fstab
.
Затем необходимо отредактировать /etc/fstab
файл. Строки в этом файле организованы следующим образом:
UUID={YOUR-UID} {/path/to/mount/point} {file-system-type} defaults,errors=remount-ro 0 1
Теперь отредактируйте файл:
% sudo vi /etc/fstab
И добавьте файл как это, например:
UUID=41c22818-fbad-4da6-8196-c816df0b7aa8 /disk2p2 ext3 defaults,errors=remount-ro 0 1
Сохраните файл и затем повторно обработайте файл с mount -a
команда.
Для монтирования ntfs раздела, необходимо будет выполнить в чем-то вроде этого Ваш /etc/fstab
файл:
/dev/sda2 /mnt/excess ntfs-3g permissions,locale=en_US.utf8 0 2
Можно сделать это самым простым путем. Перейдите в:
Если у вас много разделов для монтирования, возможно вам нужен скрипт, как это сделал я.
# ! python
# mount all partition by neoedmund
from subprocess import Popen
from subprocess import PIPE
def getCol(col, line):
p1 = line.find(col)
if p1<0 : return ""
p2 = p1 + len(col) + 1
p3 = line.find('"',p2+1)
return line[p2+1:p3]
data_stream = Popen(["/bin/lsblk", "-P", "-o", "FSTYPE,UUID,MOUNTPOINT,KNAME"], stdout=PIPE)
data=[]
for line in data_stream.stdout:
fstype = getCol("FSTYPE", line)
if fstype=="": continue # no fs
mountpoint = getCol("MOUNTPOINT", line)
if mountpoint!="":continue # already mounted
uuid = getCol("UUID", line)
kname = getCol("KNAME", line)
data.append((kname, uuid))
print("### mount script ###")
for (kname,uuid) in data:
print("mkdir /media/%s-%s"%(kname, uuid))
print("mount /dev/%s /media/%s-%s" %(kname, kname, uuid))
print("### umount script ###")
for (kname,uuid) in data:
print("umount /dev/%s" %(kname))
Это питоновый скрипт, зависит от "/bin/lsblk", сохраните вывод на два скрипта оболочки для монтирования и умножения.
for i in $(lsblk -r |awk '{ print $1 }'|grep -v md |grep -v loop |grep .*[[:digit:]]|sort|uniq;);
do
if [ -z "$(grep $i /proc/mounts)" ]
then
mkdir /mnt/$i;
mount /dev/$i /mnt/$i
fi
done
Бэкап текущего fstab:
#cp -a /etc/fstab /etc/fstab.bk
обрабатывать вывод lsblk -f , используя sed и awk и перенаправлять вывод в fstab:
#lsblk -f|sed 's/\[SWAP]/swap /g'|awk '/(-)/{printf"UUID=%-36s %-23s %-7s defaults
0 0\n", $3, ($4==""?mnt"NR:$4), $2}'>/etc/fstab
смонтировать новые точки монтирования, вызвав
#mount -a
/dev/sda5
иdev/sda6
не перечислены вfstab
файл и вblkid
команда. почему? – IcyFlame 14.04.2013, 15:42