Unofficial
På den här sidan
  1. 01Sidan Jobs
  2. 02Skapa ett jobb från början
  3. 03Kör nu, körningar och loggar
  4. 04Inbyggda jobb
  5. 05Aviseringar
  6. 06Root och vad andra konton läser

Schemalagda jobb på din NAS: cron med logg och aviseringar vid fel

Sidan Jobs i Bucket & Code Server IDE kör dina kommandon enligt ett cron-schema och sparar varje körnings logg. Ett jobb kan avisera när en körning misslyckas: i QTS-systemloggarna och via Telegram, Discord, Slack eller e-post när du har lagt till adresserna.

  1. Schemacron-fält och nästa körningar
  2. Kommandobash, körs som root
  3. Kör nuen körning och dess logg
  4. Inbyggdapaketets egna jobb
  5. Aviseringarsystemloggar och din chatt

Bilderna kommer från en test-NAS och visar texterna i version 1.0.0-49. Adressen i bilden Notifications är ett exempel.

01Sidan Jobs

Sidan har två flikar. Scheduled listar cron-jobben: paketets inbyggda jobb och jobb som konton skapat. Operations listar de senaste 50 långa åtgärderna som bvsd kört, till exempel installationer och dataflyttar, med den senaste först.

En rad i Scheduled visar jobbet och ägaren, schemat i ord och som uttryck, nästa körning och en av-/påknapp. Öppna raden för kommandot, körningarna och loggarna. Märket överst anger NAS:ens tidszon; alla tider på sidan använder den.

Schemalagda jobb: inbyggda Backup (av), Empty the trash, Maintenance, Rotate nginx's logs och Toolchain catalog refresh, med ägaren system; Disk report, med ägaren ola, klockan 06:00 måndag–fredag
  • En utvecklare skapar jobb och ändrar eller tar bort sina egna. En admin ändrar alla jobb.
  • Alla inloggade konton läser listan, kommandona och loggarna, även en läsare.

02Skapa ett jobb från början

  1. Tryck på New job och ange ett namn i Name.
  2. Fyll i Schedule: fem fält (minut timme dag månad veckodag), sex med sekunder först, eller @daily, @hourly, @every 90m. Exemplen under fältet fyller i det. Rutan nedanför beskriver schemat och listar nästa fem körningar i NAS:ens tidszon. Ett prefix som CRON_TZ=Europe/London 0 3 * * * använder en annan tidszon.
  3. Skriv Command (bash) som i en terminal. Flera rader körs som ett skript och utskriften blir körningens logg.
  4. Runs: On the NAS, eller i en av dina miljöer, där kommandot ser det systemets verktyg och bibliotek. Working folder är relativ till projects/ i datamappen eller en fullständig sökväg; tomt betyder projects/. I en miljö syns bara projects/, som /projects.
  5. Timeout in seconds: en körning som fortfarande pågår efter tiden stoppas och markeras som tidsöverskriden. Ett nytt jobb börjar på 3600; 0 betyder obegränsat. When the previous run is still going: Skip this run eller Run it after the previous one; då väntar högst en körning.
  6. Notify on failure och On är markerade för ett nytt jobb. Ett avstängt jobb behåller inställningarna och körs bara manuellt. Tryck på Create the job.
Nytt jobb: Name Disk report, Schedule 0 6 * * 1-5 med 06:00 måndag–fredag och nästa fem körningar, Command df -h /share/CACHEDEV1_DATA och date, Runs On the NAS, Working folder projects/, Timeout 60, Skip this run, Notify on failure och On markerade samt Create the job

När klockan ställs om följer jobben Debian crons regel. Ett jobb med * eller */N först i minut- eller timfältet, @hourly eller @every följer förfluten tid: på hösten körs det under båda passagerna av den upprepade timmen; på våren finns inte den överhoppade timmen. Övriga jobb kör varje tidpunkt en gång. En tid i den upprepade timmen körs en gång; en tid i den överhoppade timmen körs direkt efter omställningen.

03Kör nu, körningar och loggar

Run now i jobbets dialog startar genast en extra körning, om jobbet inte redan körs. Dialogen visar körningarnas starttid, varaktighet, resultat och returkod. Välj en körning för att läsa dess logg under listan.

Jobbet Disk report: kommando, körning på NAS:en, Timeout 1 min, nästa körning hoppas över, avisering vid fel, ägare ola; en lyckad körning med returkod 0 och logg med df-utdata och datum
  • Loggens första och sista rader kommer från bvsd. Den första anger körningen, jobbet, starttiden och vem som startade: ett konto eller schemat. Tiden är UTC, medan listan visar NAS:ens tid. Den sista anger resultat och varaktighet.
  • Ett jobb sparar de senaste 100 körningarna, var och en med de sista 4 KB av utdata. Hela loggen sparas i 30 dagar.
  • Ett fel eller en tidsöverskridning ger en röd last run failed bredvid jobbet i listan, och rutan Jobs på Overview räknar jobbet under failing.
  • När kommandot avslutas fortsätter dess bakgrundsprocesser. Vid tidsöverskridning, borttagning av jobbet eller stopp av paketet får hela processgruppen SIGTERM och 5 sekunder senare SIGKILL.
  • Edit ändrar jobbet. Delete stoppar en pågående körning och tar bort jobbet med körningar och loggar. Bara ägaren och en admin ser knapparna; andra får Close.

04Inbyggda jobb

Jobb märkta built in är bvsd:s egna, med system som ägare.

Jobb, tidVad det gör
Säkerhetskopia
@daily som standard
säkerhetskopieringen som sidan Säkerhetskopior ställer in, när Scheduled backups är på där; sidan hanterar dess schema och av-/påknapp
Underhåll
dagligen 03:30
tar bort sådant som inte ändrats på 10 dagar från tmp/ i datamappen och roterar log/audit.log över 10 MB
Töm papperskorgen
dagligen 03:45
tar bort sådant som flyttats till trash/ i datamappen för mer än 7 dagar sedan: borttagna arkiv, bucketar och kontons hemmappar
Uppdatering av verktygskedjekatalogen
dagligen 04:15
hämtar den signerade verktygskedjekatalogen och använder den om signaturen är giltig och katalogen nyare
Rotera nginx loggar
varje timme, vid minut 7
döper om nginx-access.log eller nginx-error.log till .1 när den är över 20 MB, sparar fem gamla filer och ber nginx öppna loggarna på nytt

En admin kan ändra ett inbyggt jobbs schema, tidsgräns, beteende under pågående körning och felavisering samt stänga av det. Namn, kommando, miljö och arbetsmapp är fasta; det saknar Delete.

Inbyggda jobbet Empty the trash: vad det tar bort, Timeout 1 h 0 min, ägare system, dagliga körningar 03:45, alla lyckade, loggen trash: 0 removed, 226 kept samt bara Edit och Run now

05Aviseringar

bvsd skriver alla aviseringar i QTS-systemloggarna. Notifications på sidan System skickar dem också till chatt- och e-posttjänster via shoutrrr-URL:er: Telegram, Discord, Slack, e-post, webhook och andra.

  1. Tryck på Add an address under Addresses (shoutrrr URLs) och klistra in en URL per tjänst, till exempel telegram://<token>@telegram?chats=<chat id> eller generic+https://example.com/hook.
  2. Avmarkera under Also sent to the addresses det som bara ska stanna i systemloggarna. Alla fyra är markerade vid en ny installation.
  3. Tryck på Save.
Notifications: under Also sent to the addresses är A job fails, A backup ends, A module restarts in a loop och The certificate markerade; exempeladressen telegram://<token>@telegram?chats=<chat id>, med Add an address och Save
ReglageAviseringen kommer när
Ett jobb misslyckasen cron-körning med felavisering misslyckas eller överskrider tiden, eller en åtgärd misslyckas: byggning, dataflytt eller installation
En säkerhetskopiering avslutasen säkerhetskopiering, verifiering eller återställning avslutas, även lyckade, eller en schemalagd säkerhetskopiering inte kunde starta
En modul startar om i en slingaen process ständigt avslutas och startas om
Certifikatetett uppladdat certifikat har högst 30 dagar kvar, nginx återgår till det självsignerade certifikatet eller bvsd skapar ett nytt självsignerat certifikat
inget, skickas alltidinställningar nekades vid start, en oavslutad dataflytt hittades, kvarvarande processer avslutades eller konfigurationen inte kunde skrivas
  • En avisering om samma ämne skickas högst en gång per 10 minuter, även till systemloggarna. Nästa anger hur många som hölls tillbaka.
  • Varje adress får en egen sändning med 10 sekunders gräns. Ett sändningsfel loggas bara med URL:ens protokolldel, eftersom resten innehåller dess token.
  • Bara en admin ändrar adresser och reglage. Andra konton ser reglagen och protokolldelen i varje URL.

NAS:ens admin kan också ange adresser via paketets CLI-socket. Den skickade listan ersätter tidigare adresser; reglagen behåller sina värden:

/usr/bin/bucketvs/bin/curl --unix-socket /usr/bin/bucketvs/var/run/bvsd-cli.sock \
  -X PUT -H 'Content-Type: application/json' \
  -d '{"notify":{"shoutrrr_urls":["telegram://<token>@telegram?chats=<chat id>"]}}' \
  http://bvsd/api/v1/settings

06Root och vad andra konton läser

  • Ett jobbs kommando körs som root, på NAS:en eller i miljön, oavsett vem som skapade jobbet. En utvecklare kan skapa jobb och därmed köra vilket kommando som helst som root på NAS:en. Ge rollen bara till personer som du skulle ge root på NAS:en.
  • Ett jobb körs bara när ägaren är en aktiverad utvecklare eller admin (från version 1.0.0-52). Om ägaren är inaktiverad eller har rollen medlem eller läsare registreras varje tid som en överhoppad körning med orsak, till exempel its owner ola is disabled, och Run now ger samma orsak; en pågående körning stoppas. Jobbet återupptas när kontot aktiveras eller blir utvecklare igen. När ett konto tas bort försvinner dess jobb, körningar och loggar. Inbyggda jobb körs oavsett vad som händer med ett konto.
  • Alla inloggade konton, även läsare, läser alla jobbs kommandon och utdata. Håll lösenord och token utanför kommandot: lägg dem i en fil under etc/ i datamappen som bara root kan läsa (chmod 600) och låt kommandot läsa filen.