Я не думаю, что CDPN существует для NFS, но можно достигнуть чего-то примерно эквивалентного с основными инструментами. Ограничение - то, что необходимо поместить все определенные для узла файлы в то же местоположение (или по крайней мере необходимо сохранить список местоположений), вы не можете использовать функция @hostname
нигде, вам нравится.
Монтируют локальную файловую систему на всех узлах в том же местоположении, например, / локальный
. В той файловой системе создайте символьную ссылку, цель которой варьируется между узлами и указывает на определенную область узла удаленной файловой системы. Вам не нужно никакое локальное место хранения, для которого, это может быть файловая система в оперативной памяти; так как это только должно сохранить одну символьную ссылку, издержки являются крошечными.
mount -t tmpfs -o noexec,nodev,nosuid,mode=755,nr_inodes=2,nr_blocks=2 local-redirect /local
ln -s "/nfs/.sys/$HOSTNAME" /local/storage
Использование /local/storage
, где вы использовали бы .sys / имя хоста
в вашем примере.
А другой, определенный для Linux подход должен заставить связывание смонтироваться на каждом узле. Иметь пустой каталог в совместно используемой файловой системе и связать - монтируются @hostname
к нему после монтирования файловой системы NFS.
mount --bind "/.nfs/sys/$HOSTNAME" /nfs/.sys/@hostname
Perl в порядке? Для каждого числа в диапазоне 100-999 он умножает это число на функцию Perl time ()
(что аналогично выполнению date +% s
).
perl -E 'for(100..999){say $_ * time();}' > file.txt
1438382172768
1439826331576
1441270490384
1442714649192
etc.
вы можете использовать seq, xargs
и expr
как:
seq 100 999|xargs -n1 expr $(date +%s) \*
опция -n1
указывает xargs
на выполнение expr
с одним элементом последовательности за раз. Выражение $(date ...)
будет оценено только один раз.