Este é o comando dbutil que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
dbutil - utilitário de banco de dados
SINOPSE
dbutil {-d | --jogar fora} arquivo db
dbutil {-q | --consulta} [-t] arquivo db chave
dbutil {-u | --atualização} [-n] arquivo db chave [valor]
dbutil {-x | --excluir} arquivo db chave
dbutil -t [dados | [+ | -]intervalo]
DESCRIÇÃO
O programa dbutil mantém um banco de dados de pares de valores-chave que podem ser consultados e atualizados
a partir da linha de comando. Para cada par no banco de dados, ele também mantém uma validade
tempo, para que as entradas não utilizadas possam ser eliminadas do banco de dados. dbutil deve receber um
opção que especifica em qual modo executar o programa. Os seguintes modos estão disponíveis:
--jogar fora (-d)
Imprime o conteúdo do banco de dados. Cada entrada do banco de dados é impressa em um dos
a seguir dois formatos, dependendo se o registro tem um tempo de expiração:
chave valor
chave valor (data de validade)
--consulta (-q)
Imprime o valor de uma chave específica no banco de dados. Se o -t bandeira também é
especificado, imprime o tempo de expiração do registro. Além disso, o --expirar bandeira
pode ser especificado para atualizar o tempo de expiração no registro. Sai de 0 se a chave era
encontrada, 1 se a chave não estava no banco de dados ou 2 se houver um erro de sistema.
--atualizar (-u)
Define o valor de uma chave no banco de dados para um valor específico. Se nenhum valor for
fornecido, define o valor para a string vazia (que não é o mesmo que excluir o
registro). o --expirar sinalizador também pode ser especificado para definir um tempo de expiração no
registro.
Normalmente, esta opção sobrescreve qualquer valor anterior no banco de dados. Se o -n
opção for fornecida, dbutil não substituirá um valor armazenado anteriormente no
banco de dados (e não atualizará o tempo de expiração no registro). Sai de 0 se a chave
foi encontrado, 1 se -n foi especificado e a chave já estava no banco de dados, ou 2 se
há um erro de sistema.
--expirar={dados | [+ | -]intervalo}
Esta opção pode ser especificada em conjunto com --atualizar or --consulta para definir um
tempo de expiração no registro. A opção possui dois formatos. Você pode especificar um
tempo absoluto, como o número de segundos desde 1º de janeiro de 1970 GMT, ou você pode especificar um
deslocamento da hora atual com o formato:
[+|-]contagens
Onde + significa no futuro, - significa no passado, contar é um número, e unidades é um
dos seguintes personagens:
s - segundos
m - minutos
h - horas
D - dias
W - semanas
M - meses
Y - anos
Por exemplo --expire = + 36D significa que o registro será excluído em 36 dias. Se você sempre
olho para cima chave com o comando:
dbutil --consulta --expire = + 36D chave
então a chave só irá expirar se você não procurá-la dentro de 36 dias.
Observe que dbutil mantém uma lista classificada dos registros por hora do último acesso. Assim,
limpar registros antigos não é uma operação inerentemente cara e acontece
automaticamente sempre que você modificar o banco de dados.
--nosync (-N)
Normalmente, dbutil libera de forma síncrona o arquivo de banco de dados para o disco após fazer qualquer
modificações, para minimizar a janela de vulnerabilidade na qual uma falha pode corromper
o banco de dados (se o --dbhome opção não é fornecida). Descarregando sincronizadamente o
arquivo de banco de dados é lento, no entanto. Esta opção suprime esse comportamento e pode ser usada
para construir tabelas de pesquisa de forma eficiente. Por exemplo, você pode ter um script que constrói
um arquivo x.db emitindo os seguintes comandos:
#!/ Bin / sh -e
rm -f x.db ~
dbutil -Nu x.db ~ key1 val1
dbutil -Nu x.db ~ key2 val2
# ...
dbutil -Nu x.db ~ keyn valn
dbutil -u @ @
mv -f x.db ~ x.db
--excluir (-x)
Exclui uma chave específica do banco de dados (se o banco de dados contiver a chave). Saídas
0 se a chave foi encontrada, 1 se a chave não estava no banco de dados ou 2 se havia um
erro no sistema.
-t [dados|intervalo]
Sem opções, imprime o número de segundos desde 1º de janeiro de 1970, GMT. Com um
argumento que tem o mesmo formato que --expirar, imprime o tempo de expiração como um
número absoluto de segundos desde 1970. Não é realmente uma função de banco de dados, mas útil
você deseja armazenar um carimbo de data / hora no banco de dados.
Observe que -t também pode ser combinado com o --consulta opção, caso em que causa
dbutil para imprimir o tempo de expiração da chave, em vez de seu valor.
dbutil tenta minimizar o dano de uma falha inoportuna, esvaziando o banco de dados
arquivo para o disco sempre que for modificado. No entanto, ainda há uma pequena janela na qual
seu banco de dados pode ser irrevogavelmente corrompido. Isso pode ser bom se você estiver apenas usando o
banco de dados para armazenar "soft state".
Se você quiser que o banco de dados seja recuperável em qualquer circunstância, você deve usar write-
registro antecipado, caso em que o dbutil precisa manter um diretório com os registros do banco de dados, não apenas
um único arquivo de banco de dados. A opção a seguir especifica onde manter os arquivos de log. Isto
deve ser usado em conjunto com as outras opções para cada modo, exceto -t:
--dbhome =dbhome
Especifica que os arquivos de log do banco de dados devem ser mantidos no diretório dbhome (que será
criado, se ainda não existir). Observe que os arquivos de banco de dados com
os nomes de caminho também serão armazenados neste diretório. É altamente recomendado que você
use nomes de caminho relativos para armazenar arquivos de banco de dados e arquivos de log juntos.
Caso contrário, você corre o risco de acessar um banco de dados registrado sem o --dbhome opção
e destruindo seu conteúdo.
MEIO AMBIENTE
DB_HOME
Quando definido, especifica um diretório no qual manter os arquivos de log, de modo a tornar o banco de dados
recuperável por colisão. Isso é equivalente a especificar a opção --dbhome = $ DB_HOME
(exceto que qualquer --dbhome o argumento substituirá a variável de ambiente).
Use dbutil online usando serviços onworks.net