LockBox CLI dokumentazioa
LockBox CLI ingelesez bakarrik dagoen automatizazio eraikuntza da scriptatutako enkriptaketa, ateratzea, aktibazioa, programatutako babeskopia enkriptatuak eta CI/CD lan-fluxuak egiteko. Mahaigaineko aplikazio berberaren gailu-euskaritutako lizentzia eredua erabiltzen du.
Azkar hasteko
Jarri LockBox.Cli.exe karpeta batean sartuta PATH, edo deitu zure bide osoa erabilita. --cli Markatzaile hau onartzen da bateragarritasunagatik baina ez da derrigorrezkoa CLI-bertsioan.
.\LockBox.Cli.exe --help
.\LockBox.Cli.exe device-id
.\LockBox.Cli.exe algorithms
.\LockBox.Cli.exe keygen --count 3
Sortu eta ireki lan-fluxu minimalista:
$env:LBX_MASTER = "use-a-long-master-password"
$env:LBX_L1 = "layer-1-key"
.\LockBox.Cli.exe create `
--source "D:\Data" `
--output "E:\Backups\data.lbx" `
--master-env LBX_MASTER `
--layer-env AES-128-GCM=LBX_L1
.\LockBox.Cli.exe open `
--container "E:\Backups\data.lbx" `
--output "D:\Restore" `
--master-env LBX_MASTER `
--key-env LBX_L1
Linuxek komando berberak erabiltzen ditu koskorrak dituzten bideekin eta .exe gehikaria ez duen binario batekin:
chmod +x ./LockBox.Cli
./LockBox.Cli --help
./LockBox.Cli device-id
./LockBox.Cli create \
--source "/srv/data" \
--output "/backup/data.lbx" \
--master-env LBX_MASTER \
--layer-env AES-128-GCM=LBX_L1CLI instalatu eta egiaztatu
Deskonprimitu sistemarako eta prozesadorerako ZIP egokia. .NET barne dago. Alderatu hasha SHA256SUMS.txt fitxategiarekin. Jarri CLI beheko bide absolutuan, eta egiaztatu laguntza eta lizentzia babeskopien kontuarekin.
Linuxek banaketaren jatorrizko mendekotasunak ere behar ditu, ICU eta OpenSSL barne; barneko .NETek ez ditu ematen. Windowsen, indarreko exekuzio-politikak PowerShell scriptak onartu behar ditu.
.NET / Linux · PowerShell / ExecutionPolicy
Expand-Archive -LiteralPath '.\LockBox-Cli-win-x64.zip' -DestinationPath 'C:\Tools\LockBox'
& 'C:\Tools\LockBox\LockBox.Cli.exe' --help
& 'C:\Tools\LockBox\LockBox.Cli.exe' license
Get-FileHash -LiteralPath '.\LockBox-Cli-win-x64.zip' -Algorithm SHA256uname -m
unzip LockBox-Cli-linux-x64.zip -d ./lockbox-cli
chmod +x ./lockbox-cli/LockBox.Cli
./lockbox-cli/LockBox.Cli --help
./lockbox-cli/LockBox.Cli license
sha256sum LockBox-Cli-linux-x64.zipWindows x64 -> LockBox-Cli-win-x64.zip
Windows x86 -> LockBox-Cli-win-x86.zip
Windows ARM64 -> LockBox-Cli-win-arm64.zip
Linux x86_64 -> LockBox-Cli-linux-x64.zip
Linux aarch64 -> LockBox-Cli-linux-arm64.zip
Linux armv7l -> LockBox-Cli-linux-arm.zipKarpetak, bideak eta lekua
Egokitu bideak. Iturburu-karpeta ezin da hutsik egon, eta edukiontziak kanpoan egon behar du. Irteera-izen bera erabiltzeak aurreko edukiontzia eta zatiak ordezkatzen ditu. Utzi aldi baterako lekua edukiontziaren ondoan eta iturburuaren kopiarako tokia programatutako lanetan. Unitateek 1024 oinarria dute; betegarriak byteak gehitzen ditu.
C:\Tools\LockBox\LockBox.Cli.exe /opt/lockbox/LockBox.Cli
C:\LockBox\secrets\master.txt /srv/lockbox/secrets/master.txt
C:\LockBox\secrets\layer1.txt /srv/lockbox/secrets/layer1.txt
C:\LockBox\backup.ps1 /srv/lockbox/backup.sh
D:\Data\report.csv /srv/data/report.csv
E:\Backups\20260910-020000\data.lbx /backup/20260910-020000/data.lbx
D:\Restore\Data\report.csv /restore/data/report.csv& 'C:\Tools\LockBox\LockBox.Cli.exe' create --source 'D:\Data' --output 'E:\Backups\data.lbx' --master-file 'C:\LockBox\secrets\master.txt' --layer-file 'AES-128-GCM=C:\LockBox\secrets\layer1.txt'/opt/lockbox/LockBox.Cli create --source /srv/data --output /backup/data.lbx --master-file /srv/lockbox/secrets/master.txt --layer-file AES-128-GCM=/srv/lockbox/secrets/layer1.txtSekretuen fitxategiak prestatu
Sortu sekretuak behin, gorde kopia babestua eta mugatu fitxategietarako sarbidea. Adibideek ez dituzte lehendik dauden gakoak ordezkatzen. UTF-8 fitxategiek zuriuneak gordetzen dituzte, amaierako lerro-jauziak kenduta. Gorde jatorrizko gakoak kopia zaharretarako.
$ErrorActionPreference = 'Stop'
$cli = 'C:\Tools\LockBox\LockBox.Cli.exe'
$secretDir = 'C:\LockBox\secrets'
New-Item -ItemType Directory -Force -Path $secretDir | Out-Null
$files = @('master.txt', 'layer1.txt')
foreach ($name in $files) {
if (Test-Path -LiteralPath (Join-Path $secretDir $name)) {
throw "Secret already exists: $name"
}
}
foreach ($name in $files) {
$key = & $cli keygen --count 1
if ($LASTEXITCODE -ne 0) { throw 'Key generation failed' }
[IO.File]::WriteAllText((Join-Path $secretDir $name), [string]$key, [Text.UTF8Encoding]::new($false))
}set -eu
umask 077
mkdir -p /srv/lockbox/secrets
test ! -e /srv/lockbox/secrets/master.txt
test ! -e /srv/lockbox/secrets/layer1.txt
set -C
/opt/lockbox/LockBox.Cli keygen --count 1 > /srv/lockbox/secrets/master.txt
/opt/lockbox/LockBox.Cli keygen --count 1 > /srv/lockbox/secrets/layer1.txtAktibazioa eta lizentziaren egoera
Lizentzia gakoa CLI eraikuntza berberak inprimatutako gailu IDari lotuta dago. Lizentzia beste ordenagailu batean kopiatzekotan, LockBox-ek baztertzen du eta Free-ra itzultzen da.
Windows-ek LockBox aplikazioaren datu kokapenak egiaztatzen ditu. Linux-ek aktibazioa
$XDG_CONFIG_HOME/lockbox/.lockbox.license gordetzen du, ondoren
~/.config/lockbox/.lockbox.license, ~/.lockbox/.lockbox.license
ordezko moduan.
Lortu gailu IDa
.\LockBox.Cli.exe device-id
Egungo edizioa egiaztatu
.\LockBox.Cli.exe license
Aktibatu lizentzia fitxategi batetik
.\LockBox.Cli.exe activate --license-file "C:\Licenses\lockbox-license.txt"
Aktibatu ingurumen aldagaitik
$env:LBX_LICENSE = "LBX-LIC-..."
.\LockBox.Cli.exe activate --license-env LBX_LICENSE
Aktibazio bertikal
Aktibazio bertikalean funtzionatzen du, baina shell historian edo prozesu logetan isuri daiteke.
.\LockBox.Cli.exe activate --license "LBX-LIC-..."
Linux aktibazioa
export LBX_LICENSE="LBX-LIC-..."
./LockBox.Cli activate --license-env LBX_LICENSE
./LockBox.Cli licenseSekretuen kudeaketa
Hobetsi ingurumeko aldagaiak edo fitxategiak. Sekretu bertikalak probetarako bakarrik dira erabilgarriak. Master pasahitzak eta geruzako gakoak kontserbatu behar dira: horiek gabe ontzia ezin da ireki.
| Helburua | Bertikalean | Ingurumena | Fitxategia |
|---|---|---|---|
| Master pasahitza | --master value | --master-env ENV | --master-file path |
| Sortu geruzako gakoa | --layer ALG=KEY | --layer-env ALG=ENV | --layer-file ALG=FILE |
| Ireki geruzako gakoa | --key value | --key-env ENV | --key-file path |
| Ordutegia fitxategi pasahitza | --password value | --password-env ENV | --password-file path |
| Ontziaren suntsiketarako pasahitza | --destruction-password value | --destruction-password-env ENV | --destruction-password-file path |
| Lizentzia gakoa | --license value | --license-env ENV | --license-file path |
Fitxategietan oinarritutako sekretuak
Set-Content -Path ".\master.txt" -Value "master-password" -Encoding UTF8
Set-Content -Path ".\layer1.txt" -Value "layer-key-1" -Encoding UTF8
.\LockBox.Cli.exe create `
-s "D:\Data" `
-o "E:\Backups\data.lbx" `
--master-file ".\master.txt" `
--layer-file AES-128-GCM=.\layer1.txtAlgoritmoak eta gako sortzea
Erabili algorithms erabiltzaile profile guztiak eta edizio minimoak ikusteko.
Erabili keygen geruzako gakoetarako.
.\LockBox.Cli.exe algorithms
.\LockBox.Cli.exe keygen
.\LockBox.Cli.exe keygen --count 9
.\LockBox.Cli.exe generate-keys -n 20
Onartutako komando aliasak:
algorithms
list-algorithms
profiles
keygen
generate-key
generate-keysSortu ontziak
create jatorria duen karpeta bat paketatzen du, konpresio eta pad ondoriozko aukerak aplikatzen ditu,
, betearazten du payload-a geruza batekin edo gehiagorekin sekretua bihurtuz, eta idazten du .lbx ontzi.
Beharrezko aukerak
--sourceedo-s: iturburu karpeta.--outputedo-o: irteera.lbxbidea.--master,--master-env, edo--master-file.- Gutxienez geruza bat:
--layer,--layer-env, edo--layer-file.
AES edukiontzi minimoa
.\LockBox.Cli.exe create `
-s "D:\Data" `
-o "E:\Backups\data.lbx" `
--master-env LBX_MASTER `
--layer-env AES-128-GCM=LBX_L1
Edukiontzi konprimatua
.\LockBox.Cli.exe create `
--source "D:\Exports" `
--output "E:\Backups\exports.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--compress
Kripto pad
.\LockBox.Cli.exe create `
-s "D:\Contracts" `
-o "E:\Backups\contracts.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--padding 2GB
Edukiontzia zatitan banatu
.\LockBox.Cli.exe create `
-s "D:\Media" `
-o "E:\Backups\media.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--split 700MB
Lehen zatia gordetzen du .lbx. Zati gehigarriak erabiltzen dituzte
.lbx1, .lbx2, eta hala nola. Zati guztiak karpeta berean gorde.
Bederatzi-geruza Max adibidea
$env:LBX_MASTER = "use-a-long-master-password"
$env:LBX_L1 = "layer-1-key"
$env:LBX_L2 = "layer-2-key"
$env:LBX_L3 = "layer-3-key"
$env:LBX_L4 = "layer-4-key"
$env:LBX_L5 = "layer-5-key"
$env:LBX_L6 = "layer-6-key"
$env:LBX_L7 = "layer-7-key"
$env:LBX_L8 = "layer-8-key"
$env:LBX_L9 = "layer-9-key"
.\LockBox.Cli.exe create `
--source "D:\Data" `
--output "E:\Backups\data-max.lbx" `
--master-env LBX_MASTER `
--compress `
--padding 2GB `
--split 700MB `
--layer-env AES-256-GCM=LBX_L1 `
--layer-env CHACHA20-POLY1305=LBX_L2 `
--layer-env AES-256-CCM=LBX_L3 `
--layer-env SERPENT-256-CTR-HMACSHA512=LBX_L4 `
--layer-env TWOFISH-256-CTR-HMACSHA512=LBX_L5 `
--layer-env CAMELLIA-256-CTR-HMACSHA512=LBX_L6 `
--layer-env ARIA-256-CTR-HMACSHA512=LBX_L7 `
--layer-env AES-256-CBC-HMACSHA512=LBX_L8 `
--layer-env AES-192-OFB-HMACSHA384=LBX_L9
Algoritmo/ giltza sintaxi alternatiboa
.\LockBox.Cli.exe create `
-s "D:\Data" `
-o "E:\Backups\data.lbx" `
--master-env LBX_MASTER `
--algorithm AES-128-GCM --key-env LBX_L1 `
--algorithm AES-128-CTR-HMACSHA256 --key-env LBX_L2
Iturburua ezabatu sortze arrakastatsua eskuzko ondoren
.\LockBox.Cli.exe create `
-s "D:\TempToEncrypt" `
-o "E:\Backups\temp.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--delete-source
--delete-source jatorrizko karpeta ezabatzen du kontainerra behar bezala sortu ondoren bakarrik.
Agendatzaileak aukera desberdin bat du: --delete-source-contents.
Kontainerra suntsitzeko pasahitza
Max edizioak kontainer bati suntsitzeko pasahitz bereizi bat gehitu dezake. Pasahitz hori gero sartzen bada pasahitz nagusi gisa, LockBox-ek berehala gainidatziko du kontainera baimenik gabe. Hau presio-egoeretarako da. Mantendu benetako pasahitz nagusitik bereizita.
Agindua diskoaren espazio libre egiaztatzen du, jatorrizko edukiontziaren datuak sekretu aleatorio berri batekin eta AES-256-GCM bidez fitxategi behin-behineko batean zifratu, emaitza jatorrizko tamaina zehatzera normalizatu, jatorrizko fitxategia ordezkatu eta sekretu aleatorioa ahazten du. Edukiontzi zatituentzat, karpeta berean dauden
.lbx, .lbx1, .lbx2 zatia guztia ordezkatzen da, zatien jatorrizko tamainak mantenduz.
Desagerpen pasahitzarekin sortu
$env:LBX_MASTER = "real-master-password"
$env:LBX_L1 = "layer-key-1"
$env:LBX_DESTROY = "pressure-password"
.\LockBox.Cli.exe create `
--source "D:\Data" `
--output "E:\Backups\data.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--destruction-password-env LBX_DESTROY
Geruzako gakoak gabe desagerpena abiarazi
.\LockBox.Cli.exe open `
--container "E:\Backups\data.lbx" `
--output "D:\Restore" `
--master-env LBX_DESTROY
Linux abiarazlea
export LBX_DESTROY="pressure-password"
./LockBox.Cli open \
--container "/backup/data.lbx" \
--output "/restore" \
--master-env LBX_DESTROY
Desagerpen arrakastatsua izan ondoren, edukiontzia ez da LockBox fitxategi balioduna. CLIak irteera kodea itzultzen du 0 eskatutako suntsipen ekintza arrakastaz burutu zelako.
Ireki ontziak
open ontzi bat irteera karpetara ateratzen du. Ateratze arrunt baterako, geruza gakoak sortzean erabili zen orden berean pasa behar dira. Suntsipen-pasahitz lan-fluxu baterako, ontziaren bidea, irteera bidea eta suntsipen-pasahitza pasahitz nagusi gisa bakarrik behar dira.
Ireki geruza bakarreko ontzi bat
.\LockBox.Cli.exe open `
--container "E:\Backups\data.lbx" `
--output "D:\Restore" `
--master-env LBX_MASTER `
--key-env LBX_L1
Ireki ontzi zatitutako bat
.\LockBox.Cli.exe open `
-c "E:\Backups\data.lbx" `
-o "D:\Restore" `
--master-env LBX_MASTER `
--key-env LBX_L1
Ireki geruza anitzeko ontzi bat
.\LockBox.Cli.exe open `
-c "E:\Backups\data-max.lbx" `
-o "D:\Restore" `
--master-env LBX_MASTER `
--key-env LBX_L1 `
--key-env LBX_L2 `
--key-env LBX_L3 `
--key-env LBX_L4 `
--key-env LBX_L5 `
--key-env LBX_L6 `
--key-env LBX_L7 `
--key-env LBX_L8 `
--key-env LBX_L9
Izen bereziak
open
decrypt
extractKopia leheneratuz egiaztatu
Sortu report.csv proba-fitxategi txikia. Erauzi karpeta berri batera; barruan iturburu-karpetaren izena mantentzen da. Gorde zati guztiak batera eta alderatu aldatu gabeko iturburuarekin. Erauzketak idazteko aldi baterako lekua behar du edukiontziaren ondoan. Babestu leheneratutako zifratu gabeko fitxategiak ere.
$ErrorActionPreference = 'Stop'
$cli = 'C:\Tools\LockBox\LockBox.Cli.exe'
$container = 'E:\Backups\data.lbx'
$restore = Join-Path 'D:\RestoreChecks' ([guid]::NewGuid().ToString('N'))
& $cli open --container $container --output $restore --master-file 'C:\LockBox\secrets\master.txt' --key-file 'C:\LockBox\secrets\layer1.txt'
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
$original = (Get-FileHash -LiteralPath 'D:\Data\report.csv' -Algorithm SHA256).Hash
$restored = (Get-FileHash -LiteralPath (Join-Path $restore 'Data\report.csv') -Algorithm SHA256).Hash
if ($original -ne $restored) { throw 'SHA256 mismatch' }
Write-Output $restoreset -eu
umask 077
mkdir -p /restore
restore=$(mktemp -d /restore/check-XXXXXX)
/opt/lockbox/LockBox.Cli open --container /backup/data.lbx --output "$restore" --master-file /srv/lockbox/secrets/master.txt --key-file /srv/lockbox/secrets/layer1.txt
cmp /srv/data/report.csv "$restore/data/report.csv"
sha256sum /srv/data/report.csv "$restore/data/report.csv"Planifikatzailea
Planifikatzailearen komandoak Max edizioan daude eskuragarri. Lanaren metadatu osoa gordetzen dute zifratuta .lbxjobs fitxategia, iturburu-bidea, irteera-bidea, pasahitzak, suntsiketa-pasahitza, geruza-gakoak, konpresioa, betetzea, zatitzea eta iturburu-edukien ezabatzeko ezarpena barne.
Egutegian jarritako lanak bakarrik exekutatzen dira bitartean LockBox.Cli.exe schedule run exekutatzen ari da.
Erabili Windows Task Scheduler, Linux systemd, cron, zerbitzu-enbaxadore bat edo kontsola-saio luze bat behar izanez gero langilea berabiaraztean automatikoki hasteko.
Maiztasun balioak
once
30m
hourly
2h
3h
6h
9h
12h
18h
daily
2d
3d
5d
weekly
2w
monthly
2mo
3mo
6mo
9mo
yearly
Eguneroko segurtasun-kopia enkriptatu bat gehitu
$env:LBX_JOBS_PASSWORD = "jobs-file-password"
$env:LBX_MASTER = "master-password"
$env:LBX_L1 = "layer-key-1"
$env:LBX_DESTROY = "pressure-password"
.\LockBox.Cli.exe schedule add `
--tasks "E:\Backups\jobs.lbxjobs" `
--password-env LBX_JOBS_PASSWORD `
--name "Nightly data backup" `
--frequency daily `
--start ((Get-Date).AddDays(1).ToString("o")) `
--source "D:\Data" `
--output "E:\Backups\nightly-data.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--destruction-password-env LBX_DESTROY `
--compress
Gehitu helburu bat, non iturburu karpetaren edukia ezabatuko den arrakasta lortu ondoren
.\LockBox.Cli.exe schedule add `
--tasks "E:\Backups\jobs.lbxjobs" `
--password-env LBX_JOBS_PASSWORD `
--name "Encrypt outgoing folder" `
--frequency 30m `
--start ((Get-Date).AddDays(1).ToString("o")) `
--source "D:\Outgoing" `
--output "E:\Backups\outgoing.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--delete-source-contents
Gehitu hilabeteko artxibo bat, betetzea eta zatika banatzea barne
.\LockBox.Cli.exe schedule add `
--tasks "E:\Backups\jobs.lbxjobs" `
--password-env LBX_JOBS_PASSWORD `
--name "Monthly legal archive" `
--frequency monthly `
--start ((Get-Date).AddDays(1).ToString("o")) `
--source "D:\Legal" `
--output "E:\Archives\legal-monthly.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--compress `
--padding 4GB `
--split 2GB
Zerrendatu gorde diren zereginak
.\LockBox.Cli.exe schedule list `
--tasks "E:\Backups\jobs.lbxjobs" `
--password-env LBX_JOBS_PASSWORD
Exekutatu ordutegiaren langilea
.\LockBox.Cli.exe schedule run `
--tasks "E:\Backups\jobs.lbxjobs" `
--password-env LBX_JOBS_PASSWORD `
--state "E:\Backups\jobs.status.json" `
--poll-seconds 30
Exekutatu epean dauden zereginak behin bakarrik eta irten
.\LockBox.Cli.exe schedule run-once `
--tasks "E:\Backups\jobs.lbxjobs" `
--password-env LBX_JOBS_PASSWORD `
--state "E:\Backups\jobs.status.json"
Erakutsi azken exekuzioaren egoera
.\LockBox.Cli.exe schedule status --state "E:\Backups\jobs.status.json"
Egoera-markak hauek dira [OK], [RUNNING], eta [FAILED].
Zeregina huts egiten badu, hutzeko arrazoia barne hartzen du eta erabiltzaileari aholkatzen dio arazoa errepikatzen bada laguntza jar dadin kontakti dezala.
JSON eskritura/scriptak
Erabili --script workflow batek hainbat pauso dituenean. Eskritura exekutatzaileak honakoak onartzen ditu
create, open, keygen, algorithms,
device-id, license, eta activate.
Sortu eta ireki script bakarrean
{
"stopOnError": true,
"commands": [
{
"command": "create",
"source": "D:\\Data",
"output": "E:\\Backups\\data.lbx",
"masterPasswordEnv": "LBX_MASTER",
"destructionPasswordEnv": "LBX_DESTROY",
"compression": true,
"padding": "512MB",
"split": "700MB",
"layers": [
{ "algorithm": "AES-256-GCM", "keyEnv": "LBX_L1" },
{ "algorithm": "CHACHA20-POLY1305", "keyEnv": "LBX_L2" }
]
},
{
"command": "open",
"container": "E:\\Backups\\data.lbx",
"output": "D:\\Restore",
"masterPasswordEnv": "LBX_MASTER",
"keyEnvs": [ "LBX_L1", "LBX_L2" ]
}
]
}
.\LockBox.Cli.exe --script ".\backup.lockbox.json"
Huts egin duen pauso baten ondoren jarraitu
{
"stopOnError": false,
"commands": [
{ "command": "license" },
{ "command": "algorithms" },
{
"command": "create",
"source": "D:\\BuildOutput",
"output": "E:\\Artifacts\\build.lbx",
"masterPasswordEnv": "LBX_MASTER",
"layers": [
{ "algorithm": "AES-128-GCM", "keyEnv": "LBX_L1" }
]
}
]
}
Aktibatu script-etik
{
"commands": [
{
"command": "activate",
"licenseKeyFile": "C:\\Licenses\\lockbox-license.txt"
},
{ "command": "license" }
]
}JSON eremuak eta exekuzio-arauak
Taulak create eremuak eta open gako-zerrendak CLI aukerekin lotzen ditu. Bide erlatiboak prozesuaren lan-direktoriotik hasten dira; aldagaiak eta datak ez dira ordezkatzen. Erabili sekretu-iturburu bakarra eremu bakoitzeko. open komandoak keys, gero keyEnvs eta keyFiles irakurtzen ditu. Hobetsi stopOnError: true; false erabilita geroagoko arrakastak aurreko errorea ezkuta dezake. JSON scriptek ez dituzte antolatzailearen komandoak onartzen.
{
"stopOnError": true,
"commands": [
{
"command": "create",
"source": "/srv/data",
"output": "/backup/data.lbx",
"masterPasswordFile": "/srv/lockbox/secrets/master.txt",
"layers": [
{ "algorithm": "AES-128-GCM", "keyFile": "/srv/lockbox/secrets/layer1.txt" }
]
},
{
"command": "open",
"container": "/backup/data.lbx",
"output": "/restore/check",
"masterPasswordFile": "/srv/lockbox/secrets/master.txt",
"keyFiles": ["/srv/lockbox/secrets/layer1.txt"]
}
]
}/opt/lockbox/LockBox.Cli --quiet script /srv/lockbox/backup.lockbox.jsonsource / sourceFolder / sourceFolderPath | --source | Packatu eta zifreztu karpeta. |
output / outputContainerPath | --output | Produktu .lbx bidea. |
masterPassword | --master | Lineako master pasahitza. |
masterPasswordEnv | --master-env | Irakurri master pasahitza ingurumen aldagaiengandik. |
masterPasswordFile | --master-file | Irakurri master pasahitza UTF-8 testu fitxategitik. |
layers[].algorithm + layers[].key | --layer | Gehitu ALGORITHM=KEY. |
layers[].algorithm + layers[].keyEnv | --layer-env | Gehitu ALGORITHM=ENV. |
layers[].algorithm + layers[].keyFile | --layer-file | Gehitu ALGORITHM=FILE. |
compression / compress | --compress | Aktibatu konpresioa. |
padding | --padding | Gehitu pad random kriptatuta. Unitateak: B, KB, MB, GB, TB. |
paddingBytes | --padding-bytes | Padaren tamaina byte hutsean. |
split / splitSize | --split | Banatu irteera .lbx, .lbx1, .lbx2. |
splitPartSizeBytes | --split-bytes | Banatu zatiaren tamaina byte hutsean. |
destructionPassword | --destruction-password | %Max soilik% suntsipen pasahitza. Gerora pasahitz nagusi gisa sartzean, edukiontzia berehala ordezkatzen du. |
destructionPasswordEnv | --destruction-password-env | Irakurri %Max soilik% suntsipen pasahitza ingurune aldagaia batetik. |
destructionPasswordFile | --destruction-password-file | Irakusi Max-only suntsiketa pasahitza UTF-8 testu fitxategi batetik. |
deleteSource / deleteSourceFolderAfterSuccess | --delete-source | Ezabatze iturburu karpeta arrakastaz sortu ondoren. |
container / containerPath | --container | Existitzen dena .lbx ontzia. |
keys[] | --key | Lineako geruzako gakoa jatorrizko ordenean. |
keyEnvs[] | --key-env | Ingurune aldagaien gako geruza. |
keyFiles[] | --key-file | Geruzako gakoa UTF-8 testu fitxategitik. |
Automatizazio errezetak
Datu-base enkriptatuaren babeskopia
$stamp = Get-Date -Format "yyyyMMdd-HHmmss"
$dump = "D:\DbDumps\$stamp"
New-Item -ItemType Directory -Path $dump | Out-Null
Copy-Item "D:\DatabaseExports\*" $dump -Recurse
.\LockBox.Cli.exe create `
-s $dump `
-o "E:\Backups\db-$stamp.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--compress `
--padding 512MB
CI artxiboaren babesa
.\LockBox.Cli.exe create `
--source "$env:BUILD_ARTIFACTSTAGINGDIRECTORY" `
--output "$env:AGENT_TEMPDIRECTORY\protected-artifacts.lbx" `
--master-env LBX_MASTER `
--layer-env AES-128-GCM=LBX_L1
Bideratu seguruak partnerra
.\LockBox.Cli.exe create `
-s "D:\PartnerPackage" `
-o "E:\Transfer\partner-package.lbx" `
--master-env LBX_MASTER `
--layer-env AES-256-GCM=LBX_L1 `
--layer-env CHACHA20-POLY1305=LBX_L2 `
--compress `
--split 1GB
Ebazpen luzeko artxiboa
.\LockBox.Cli.exe create `
-s "D:\Records\2026" `
-o "E:\ColdStorage\records-2026.lbx" `
--master-file "C:\Secrets\records-master.txt" `
--layer-file AES-256-GCM=C:\Secrets\records-layer1.txt `
--layer-file SERPENT-256-CTR-HMACSHA512=C:\Secrets\records-layer2.txt `
--compress `
--padding 8GB `
--split 4GB
Batch fitxategiaren adibidea
@echo off
set LBX_MASTER=master-password
set LBX_L1=layer-key-1
LockBox.Cli.exe create ^
--source "D:\Data" ^
--output "E:\Backups\data.lbx" ^
--master-env LBX_MASTER ^
--layer-env AES-128-GCM=LBX_L1
if errorlevel 1 exit /b %errorlevel%
echo OKWindows: hainbat karpetaren kopiak
Gorde scripta adierazitako bidean. Iturburu bakoitzeko izen bakarreko edukiontzia eta egunkaria sortzen ditu, errorean gelditzen da eta CLI irteera-kodea gordetzen du. AES-128-GCM Free bertsioan dabil; konpresioak eta zatitzeak Pro edo Max behar dute.
C:\LockBox\backup.ps1
param(
[string[]]$Source = @('D:\Data'),
[string]$Destination = 'E:\Backups'
)
$ErrorActionPreference = 'Stop'
$cli = 'C:\Tools\LockBox\LockBox.Cli.exe'
$secretDir = 'C:\LockBox\secrets'
try {
foreach ($folder in $Source) {
$sourcePath = (Resolve-Path -LiteralPath $folder).Path
$stamp = (Get-Date).ToUniversalTime().ToString('yyyyMMdd-HHmmss-fff')
$runId = [guid]::NewGuid().ToString('N')
$runDir = Join-Path $Destination "$stamp-$runId"
New-Item -ItemType Directory -Path $runDir | Out-Null
$container = Join-Path $runDir 'data.lbx'
$log = Join-Path $runDir 'create.log'
$cliArgs = @(
'--quiet', 'create', '--source', $sourcePath, '--output', $container,
'--master-file', (Join-Path $secretDir 'master.txt'),
'--layer-file', ('AES-128-GCM=' + (Join-Path $secretDir 'layer1.txt'))
)
$ErrorActionPreference = 'Continue'
& $cli @cliArgs > $log 2>&1
$result = $LASTEXITCODE
$ErrorActionPreference = 'Stop'
if ($result -ne 0) {
Get-Content -LiteralPath $log
exit $result
}
if (-not (Test-Path -LiteralPath $container -PathType Leaf)) {
throw "Container missing: $container"
}
Write-Output $container
}
exit 0
} catch {
Write-Error $_ -ErrorAction Continue
exit 1
}& 'C:\LockBox\backup.ps1' -Source 'D:\Data', 'D:\Reports' -Destination 'E:\Backups'
# 0 = success; 1 = runtime error; 2 = usage error; 3 = edition restriction
$LASTEXITCODELinux: zaintzarik gabeko kopiak
Gorde Bash scripta LF lerro-amaierarekin. Prestatu CLI eta sekretuak adierazitako bideetan, eta pasa iturburu-karpetak argumentu gisa. Exekuzio bakoitzak direktorio propioa du. Erroreek egunkaria eta zero ez den kodea uzten dituzte; iturburuak mantentzen dira.
/srv/lockbox/backup.sh
#!/bin/bash
set -eu
umask 077
cli=/opt/lockbox/LockBox.Cli
secret_dir=/srv/lockbox/secrets
backup_root=/backup
mkdir -p "$backup_root"
if [ "$#" -eq 0 ]; then
set -- /srv/data
fi
for source in "$@"; do
run_dir=$(mktemp -d "$backup_root/$(date -u +%Y%m%d-%H%M%S)-XXXXXX")
container="$run_dir/data.lbx"
log="$run_dir/create.log"
"$cli" --quiet create \
--source "$source" \
--output "$container" \
--master-file "$secret_dir/master.txt" \
--layer-file "AES-128-GCM=$secret_dir/layer1.txt" > "$log" 2>&1 || {
result=$?
cat "$log" >&2
exit "$result"
}
test -s "$container"
printf '%s\n' "$container"
done/bin/bash /srv/lockbox/backup.sh /srv/data /srv/reportsSistema eragilearen bidez programatu
Lanek goiko scriptak abiarazten dituzte; create horrela erabiltzeko ez da Max behar. Windows erregistroa erabiltzailea saioa hasita dagoenean soilik dabil; behar bada, konfiguratu saiorik gabeko exekuzioa ataza-antolatzailean. Gehitu cron babeskopien kontuko crontab fitxategian flock egiaztatu ondoren. Bi adibideak tokiko 02:00etan dabiltza eta programatutako exekuzioak gainjartzea eragozten dute. Egiaztatu baimenak eta probatu eskuz.
Windows
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-NoProfile -NonInteractive -File "C:\LockBox\backup.ps1"' -WorkingDirectory 'C:\LockBox'
$trigger = New-ScheduledTaskTrigger -Daily -At '02:00'
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -MultipleInstances IgnoreNew -ExecutionTimeLimit ([TimeSpan]::Zero)
$principal = New-ScheduledTaskPrincipal -UserId ([Security.Principal.WindowsIdentity]::GetCurrent().Name) -LogonType Interactive
Register-ScheduledTask -TaskName 'LockBox backup' -Action $action -Trigger $trigger -Settings $settings -Principal $principal
Start-ScheduledTask -TaskName 'LockBox backup'
Get-ScheduledTaskInfo -TaskName 'LockBox backup'New-ScheduledTaskSettingsSet · New-ScheduledTaskPrincipal
Linux: cron
crontab -e0 2 * * * /usr/bin/flock -n /srv/lockbox/backup.lock /bin/bash /srv/lockbox/backup.sh >> /srv/lockbox/cron.log 2>&1Max: antolatzailea kudeatu
Sortu lockbox zerbitzu-kontua beharrezko baimenekin, aktibatu Max kontu horretan eta prestatu jobs.txt UTF-8 pasahitz-fitxategi bereizia. add gehitzeko da, ez eguneratzeko: erabili behin lan bakoitzeko. Exekutatu prozesu bakarra lan-fitxategi bakoitzeko eta berrabiarazi aldaketen ondoren. Egoeraren JSONak ez du historia berreskuratzen: atzeratutako errepikapenak saltatzen dira, atzeratutako once lana berriro exekuta daiteke. Sistemaren aldizkako abiarazteetarako erabili create, ez run-once errepikatua. Antolatzaileak irteera-izena berrerabiltzen du.
/opt/lockbox/LockBox.Cli schedule add \
--tasks /srv/lockbox/jobs.lbxjobs \
--password-file /srv/lockbox/secrets/jobs.txt \
--name nightly-data --frequency daily \
--start "$(date -d 'tomorrow 02:00' --iso-8601=seconds)" \
--source /srv/data --output /backup/nightly-data.lbx \
--master-file /srv/lockbox/secrets/master.txt \
--layer-file AES-128-GCM=/srv/lockbox/secrets/layer1.txt
/opt/lockbox/LockBox.Cli schedule list --tasks /srv/lockbox/jobs.lbxjobs --password-file /srv/lockbox/secrets/jobs.txt/etc/systemd/system/lockbox-scheduler.service
[Unit]
Description=LockBox scheduler
After=local-fs.target
RequiresMountsFor=/srv/data /srv/lockbox /backup
[Service]
Type=simple
User=lockbox
WorkingDirectory=/srv/lockbox
UMask=0077
ExecStart=/opt/lockbox/LockBox.Cli schedule run --tasks /srv/lockbox/jobs.lbxjobs --password-file /srv/lockbox/secrets/jobs.txt --state /srv/lockbox/jobs.status.json --poll-seconds 30
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=300
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now lockbox-scheduler.service
systemctl status lockbox-scheduler.service
journalctl -u lockbox-scheduler.service -n 50 --no-pager
/opt/lockbox/LockBox.Cli schedule status --state /srv/lockbox/jobs.status.jsonKomandoen erreferentzia
| Komandoa | Helburua | Aliasak |
|---|---|---|
help | Erakutsi kontsolako laguntza. | --help, -h, ? |
device-id | Inprimatu PC gailuaren IDa lizentzia emateko. | deviceid, machine-id |
license | Erakutsi egungo edizioa eta lizentzia bidea. | license-status, status |
activate | Instalatu gailuarekin lotutako lizentzia gakoa. | activation |
algorithms | Zerrendatu algoritmoak eta edizio minimoak. | profiles, list-algorithms |
keygen | Sortu ausazko gakoak. | generate-key, generate-keys |
create | Sortu zifreztatuta dagoen ontzia. | encrypt |
open | Atera zifreztatuta dagoen ontzia. | decrypt, extract |
schedule | Kudeatu eta exekutatu programatutako zereginak. | scheduler, scheduled-tasks |
script | Exekutatu JSON automatizazio fitxategia. | --script |
Sortu aukerak
--source, -s | Packatu eta zifreztu karpeta. |
--output, -o | Produktu .lbx bidea. |
--master | Lineako master pasahitza. |
--master-env | Irakurri master pasahitza ingurumen aldagaiengandik. |
--master-file | Irakurri master pasahitza UTF-8 testu fitxategitik. |
--layer | Gehitu ALGORITHM=KEY. |
--layer-env | Gehitu ALGORITHM=ENV. |
--layer-file | Gehitu ALGORITHM=FILE. |
--algorithm, -a | Algoritmo alternatibo bat batera konbinatuta --key, --key-env, edo --key-file. |
--compress | Aktibatu konpresioa. |
--no-compress | Desaktibatu konpresioa aurretik ezarrita bazegoen. |
--padding | Gehitu pad random kriptatuta. Unitateak: B, KB, MB, GB, TB. |
--padding-bytes | Padaren tamaina byte hutsean. |
--split | Banatu irteera .lbx, .lbx1, .lbx2. |
--split-bytes | Banatu zatiaren tamaina byte hutsean. |
--no-split | Desaktibatu banaketa aurretik ezarrita bazegoen. |
--destruction-password | %Max soilik% suntsipen pasahitza. Gerora pasahitz nagusi gisa sartzean, edukiontzia berehala ordezkatzen du. |
--destruction-password-env | Irakurri %Max soilik% suntsipen pasahitza ingurune aldagaia batetik. |
--destruction-password-file | Irakusi Max-only suntsiketa pasahitza UTF-8 testu fitxategi batetik. |
--delete-source | Ezabatze iturburu karpeta arrakastaz sortu ondoren. |
Ireki aukerak
--container, -c | Existitzen dena .lbx ontzia. |
--output, -o | Atera karpeta. |
--master, --master-env, --master-file | Pasahitz nagusiaren iturburua. |
--key, -k | Lineako geruzako gakoa jatorrizko ordenean. |
--key-env | Ingurune aldagaien gako geruza. |
--key-file | Geruzako gakoa UTF-8 testu fitxategitik. |
— | Onartua suntsiketa-pasahitz workflowetarako. Ohiko ateratzea huts egiten du metadatuak irakurtzen ondoren, beharrezko gakoak falta badira. |
Programadore aukerak
schedule add | Erantsi zeregin bat zifreztatuta .lbxjobs. |
schedule list | Gordeak diren zereginak erakutsi. |
schedule run | Iragan denbora luzean lan egiten duen langilea exekutatu. |
schedule run-once | Egin dagokion zereginak behin eta irten. |
schedule status | Irakurri azken exekuzio denborako egoera JSON. |
--tasks, --file | Zeregin fitxategi enkriptatua bidea. |
--password, --password-env, --password-file | Zeregin fitxategiaren pasahitza. |
--state, --status-file | Exekuzio denbora egoera JSON bidea. |
--name | Zereginaren izena schedule add. |
--frequency, --every | Zereginaren maiztasuna. |
--start, --start-at | Tokiko hasierako data/ordu. |
--delete-source-contents | Ezabatu jatorrizko iturburu karpetaren edukia arrakastazko egutegiko exekuzioa ondoren. |
--poll-seconds | Langilearen inkestatzeko tartea schedule run. |
Erabili --language edo --lang kontsolaren hizkuntza hautatzeko, eta --quiet ohiko aurrerapena ezkutatzeko; erroreak erroreen irteera estandarrera bidaltzen dira oraindik. Ctrl+C sakatzeak ezeztatzea eskatzen du eta 1 kodea itzultzen du. 2 kodeak komandoaren sintaxi baliogabea adierazten du; 3 kodeak sortzeko eginbide bat uneko edizioan ez dagoela erabilgarri adierazten du. 0 kodeak nahita aktibatutako suntsipen-pasahitza ere barne hartzen du; beraz, berez ez du frogatzen fitxategiak erauzi direnik. Egiaztatu espero den irteera hurrengo automatizazio-urratsen aurretik.
Irteera-kodeak eta jarraipena
schedule run-once komandoak zero itzul dezake lanek huts egin arren; schedule status komandoak ere bai egoerarik gabe. Egiaztatu savedAt, lastSuccessAt eta lastError; [OK] Ready hutsa izan daiteke. Monitoreak eguneroko kopiak, 30 segundoko kontsultak eta 26 ordu barruko arrakasta espero ditu. Egokitu mugak. JSON egoerak zenbakiak dira; --quiet aukerak create/open arrakastatsuen ohiko irteera ezkutatzen du.
$ErrorActionPreference = 'Stop'
try {
$status = Get-Content -LiteralPath 'E:\Backups\jobs.status.json' -Raw | ConvertFrom-Json
if (@($status.tasks).Count -eq 0) { throw 'No tasks in status file' }
if ([DateTimeOffset]$status.savedAt -lt [DateTimeOffset]::Now.AddMinutes(-2)) {
throw 'Worker status is stale'
}
foreach ($task in $status.tasks) {
if ($task.state -eq 3 -or $task.lastError) { throw "Task failed: $($task.name)" }
if (-not $task.lastSuccessAt -or [DateTimeOffset]$task.lastSuccessAt -lt [DateTimeOffset]::Now.AddHours(-26)) {
throw "No recent successful backup: $($task.name)"
}
}
exit 0
} catch {
Write-Error $_ -ErrorAction Continue
exit 1
}0 -> Ready
1 -> Running
2 -> Completed
3 -> FailedArazoen konponketa
Zergatik lortzen dut irteera kodea 3?
Egungo edizioak ez du eskatutako funtzionalitatea onartzen: geruza gehiegi, konpresioa, kripto-padding-a, zatitzea, programatzailea edo algoritmo sendoago bat.
Zergatik porrot egiten du atera-ketak autentifikazio etiketa errore batekin?
Master pasahitza, geruza gakoa, geruza ordena edo edukiontziko fitxategia okerra da. Zatitutako edukiontzien kasuan, egiaztatu ere atal bakoitza karpeta berean dagoela.
Zergatik ez da programatzailea exekutatzen kontsola itxi ondoren?
schedule run langile prozesua da. Mantendu irekita, edo abiatu Windows Task Scheduler edo zerbitzu-envoltorio baten bidez.
Zergatik ez da programazio gehitzaileak berehala arrakastatsu egiten?
Antolatzaileak lizentzia, iturburu karpeta, irteerako bidea, algoritmoak, pasahitzak eta erabilgarri dagoen disko espazioa baliozkotzen ditu zeregina gorde aurretik.
Ezarpenaren pasahitzak .lbxjobs fitxategian gorde al ditzaket?
Bai. .lbxjobs fitxategia antolatzaile fitxategiaren pasahitzarekin enkriptatzen da eta zereginen metadatu osoa gordetzen du, besteak beste enkriptatzeko pasahitzak eta geruzako gakoak.
Zer gertatzen da aurreko exekuzioa gainditzen duen exekuzio programatu batekin?
Gertaera berria saltatzen da, zeregina huts egin duen egoera batekin adierazten da azalpen batekin, eta etorkizuneko exekuzioak aktibo dagoen exekuzioa amaitu ondoren jarraitzen dute.
Nola saihestu sekretuak shell historiaren barruan?
Erabili --master-env, --master-file, --layer-env, --layer-file, --destruction-password-env, --destruction-password-file, --password-env, eta --password-file.