Рабочие области для временных файлов
Для временного хранения рабочих файлов (в первую очередь - большого размера) создана отдельная файловая система с именем 'scratch'.
Рабочая область ('workspace') - директория на этой файловой системе, создаваемая по запросу пользователя, определяемая уникальным для данного пользователя именем и обладающая временем жизни, по истечению которого она автоматически удаляется. Удаление производится через запрошенное при создании количество дней, примерно в то же самое время, без округления до начала или конца дня. За семь дней до удаления непустой области её владельцу ежедневно высылаются почтовые уведомления, предупреждающие о скором удалении.
-
На данный момент максимальное возможное время жизни рабочей области - 60 дней. Возможность изменения времени жизни уже существующей области не предусмотрена, кроме досрочного удаления пользователем. Но при необходимости всегда можно создать новую рабочую область и перенести данные в неё. Обращаем внимание, что подобным образом, не забывая вовремя переносить данные в новые рабочие области, информацию можно хранить сколь угодно долго. Однако файлы, предназначенные для долговременного хранения, необходимо всё-таки переносить на свои персональные компьютеры.
В имени рабочей области можно использовать только латинские символы, цифры и знак подчеркивания.
Каждый пользователь может одновременно иметь любое количество рабочих областей с разными именами и временами хранения.
Дисковая квота пользователя на файловую систему 'scratch' ограничивает суммарный размер, занимаемый всеми файлами во всех рабочих областях. Ограничения на размер каждой конкретной рабочей области отсутствуют.
Для удобства использования можно после создания рабочей области сделать символьную ссылку на неё из домашней директории и, изменяя ссылку каждые два месяца, работать так, как-будто это обычная директория с фиксированным путём.
Создание
Для создания рабочей области необходимо выполнить команду ws_allocate, передав ей два параметра - имя области и время жизни в днях. В случае успешного создания команда возвращает в стандартый вывод (stdout) полный путь до соответствующей директории. В случае какой-либо ошибки возвращается пустая строка.
В дальнейшем для получения пути до ранее созданной области по её имени используется команда ws_find, описанная ниже.
При попытке создать область с именем, уже используемым этим пользователем, будет возвращён путь до существующей области. Новое время жизни при этом будет проигнорировано.
Ниже приведены примеры создания рабочей области с именем 'ws1' и временем жизни 10 дней:
Из командной строки
Создание рабочей области из командной строки:
ws_allocate ws1 10
В ответ будет выведено что-то вроде следующего:
/mnt/scratch/ws/username/201004261112ws1
Из скрипта
Создание рабочей области из скрипта, с сохранением полученного пути в переменную:
#!/bin/bash
ws=$(ws_allocate ws1 10)
if [ ! -d $ws ] ; then
echo "No such workspace: $ws"
exit 1
fi
cd $ws
....
Поиск по имени
Команда ws_find возвращает путь до рабочей области с указанным именем. В случае отсутствия таковой, возвращает пустую строку:
ws_find имя_области
Из скрипта:
#!/bin/bash
ws=$(ws_find ws1)
if [ ! -d $ws ] ; then
echo "No such workspace: $ws"
exit 1
fi
cd $ws
....
Отображение областей
Получить список всех своих рабочих областей и времена их удаления можно с помощью следующей команды:
ws_list
Expiration time | Workspace name
-----------------+----------------
2010-04-26 11:12 | ws1
2010-05-07 11:07 | data_2
Досрочное удаление
В случае, если данные из какой-то области уже не нужны, желательно не дожидаться их автоматического удаления, а сделать это досрочно:
ws_release имя_области
При большом количестве файлов в рабочей области выполнение команды может занять существенное время.
Удаление всех пустых
Для удаления всех пустых рабочих областей можно использовать утилиту:
ws_drain