Ana içeriğe geç

scada-manager komutları

Bu sayfa destek ve BT personeli içindir. Günlük işler arayüzde yapılır; komut satırı şu işler içindir, örneğin root hesabını kurtarmak, bir projeyi sürüm çizgileri arasında devralmak, zamanlanmış bir görevden yedek almak ya da sunucu betiklerini bir klasörden yüklemek. Sunucuda yönetici olarak bir komut penceresi ya da PowerShell açın.

Bunun yerine arayüzde​

İşArayüzde
YTCC'yi başlatma, durdurma, yeniden başlatmaServices (Hizmetler) içindeki YTCC servisi; bkz. YTCC süreçlerini yönetme
Süreçleri görme, bir sürücüyü yeniden başlatmaAna sayfada Processes; bkz. YTCC süreçlerini yönetme
Bir projeyi başlatma ya da durdurmaAna sayfada Start ve Stop; bkz. Projeyi başlatma, durdurma ve yeniden başlatma
Bir projeyi başka bir sürümden devralmaStop it there and start here…; bkz. Çalışma kilidi ve yan yana sürümler
Bir projeyi yedekleme ve geri yüklemeAna sayfada Back up… ve Import; bkz. Yedekleme ve geri yükleme
Bir proje veritabanını yükseltmeKurulum programı ya da ana sayfada Upgrade…; bkz. Veritabanları ve şema yükseltme
Sürümü ve kurulu çizgileri görmeSettings › About ve YTCC installations on this computer; bkz. Hangi sürümü okuyorsunuz
Portları değiştirmeSettings › Ports ve Projects and ports; bkz. Port tablosu
root şifresini değiştirmeOturum düğmesi › Change password; bkz. Sistem yöneticisi root
Veritabanı şifresini değiştirmeKurulum programı, Repair; bkz. Güvenlik sertleştirme kontrol listesi
Lisans isteme, yükleme ya da serbest bırakmaAna sayfada Licence (Türkçe arayüzde: Lisans); bkz. Lisans ve Capacity Unit

Komutları çalıştırma​

scada-manager, YTCC'nin süreç yöneticisi ve komut satırı aracıdır. PowerShell'de kurulum klasöründe çalıştırın, örneğin önce cd C:\ytcc\v15, sonra .\scada-manager <komut>. Kurulum programı kurulum klasörünü sistem PATH'ine ekler; böyle bir kurulumda scada-manager <komut> her komut penceresinde çalışır. scada-manager --help ve scada-manager <komut> --help seçenekleri listeler.

Çalışan YTCC'nin durumunu değiştiren komutlar (start <ID>, stop, restart, start-project, stop-project) kontrol anahtarını kurulum klasöründeki data\control.key dosyasından okur. Süreç yöneticisi her açılışta yeni bir anahtar yazar. Bu komutları o dosyayı okuyabilen bir kullanıcıyla çalıştırın.

Veritabanı parolası, kurulum programıyla yapılmış bir kurulumda olduğu gibi config\secrets.toml içinde tutuluyorsa onu yalnız yöneticiler okuyabilir. Veritabanına bağlanan komutlar o zaman yönetici olarak açılmış bir PowerShell ister: start (bütün YTCC), migrate, db-password, backup, import, script, project ve version purge gibi version alt komutları. status, stop, restart, start <ID>, start-project, stop-project, version, ports ve license dosyayı okumaz, sıradan pencerede çalışır. Yetki yoksa komut secrets.toml'un okunamadığını ve yönetici olarak çalıştırılması gerektiğini söyleyen bir hatayla durur.

Sürüm çizgisini seçme​

Bir bilgisayarda birden çok YTCC sürüm çizgisi kuruluysa, örneğin v15 (1.5.x) ve v16 (1.6.x), komutun ilk kelimesi çizgiyi seçer. scada-manager komutu kurulu çizgileri, kurulum programının Windows kayıt defterinde tuttuğu kurulum listesinden bulur. Bu yüzden komutu hangi kurulum klasöründe ya da hangi PATH girdisiyle çalıştırırsanız çalıştırın sonuç aynıdır.

KomutNe yapar
scada-manager listKurulu çizgilerin tablosunu yazar: çizgi, ürün sürümü, servis, kontrol portu, durum ve klasör. Durum; durmuş, projesiz çalışıyor ya da açık projenin adıyla çalışıyor olur. Komutu çalıştırdığınız çizgi * ile işaretlenir.
scada-manager statusBirden çok çizgi kuruluysa aynı tabloyu, ardından çalışan her çizginin süreç tablosunu çizgi ve klasörünü gösteren bir başlık altında yazar. Hiçbir çizgi çalışmıyorsa çalışan YTCC olmadığını söyler. Tek kurulumda süreç tablosunu yazar.
scada-manager v15 <komut>Komutu v15 çizgisinde çalıştırır, örneğin scada-manager v15 start ya da scada-manager v15 start-project pump_station.
scada-manager dev <komut>Komutu geliştirme ortamında, YTCC'nin kaynak kod kopyasında çalıştırır.

Tek kurulumda komutları eskisi gibi çizgisiz yazın: scada-manager start. Birden çok kurulumda çizgisiz komut tahmin edilmez: scada-manager kurulu çizgileri bir örnekle listeler ve 2 çıkış koduyla biter. Kurulu olmayan bir çizgi de aynı şekilde biter.

Çizgisiz start, stop ve restart bunun istisnasıdır:

  • stop ve restart, yalnız bir çizgi çalışıyorsa sormadan ona gider.
  • Komut penceresinde yazıldıklarında hangi çizginin kullanılacağını sorarlar. Liste her çizgiyi sürümü ve klasörüyle gösterir, en son çalışan çizgiyi ve şu an çalışan çizgiyi projesiyle işaretler; varsayılan en son çalışan çizgidir (Enter). Numarayı ya da çizgi adını yazın, örneğin v16; q 1 çıkış koduyla iptal eder. Geçersiz yanıtta yeniden sorulur.
  • start için zaten çalışan çizgiyi seçmek yalnız bunu söyler. Bir çizgi çalışırken başka bir çizgiyi seçmek, bilgisayarda aynı anda tek proje çalıştığı için onay ister: e yanıtı çalışan çizgiyi durdurur, durduğunu bekler (en çok 60 saniye) ve sonra seçileni başlatır; Enter ya da h iptal eder.
  • Bir betikten, servisten ya da kurulum programından çağrıldıklarında soru sorulmaz: çizgiler listelenir ve komut 2 çıkış koduyla biter; betikler çizgiyi açıkça yazmalıdır.

En son çalışan çizgi her çizginin data\manager-state.json dosyasından okunur.

Genel seçenekler​

Bunları komuttan önce verin, örneğin .\scada-manager --port 5001 status.

SeçenekVarsayılanAnlamı
--root <klasör>.Göreli yolların dayandığı kurulum klasörü. Bir sürüm klasöründe sürüm klasörü kullanılır.
--config <dosya>config/manager.tomlSüreç yöneticisinin yapılandırması.
--ports <dosya>config/ports.tomlPort tablosu.
--port <port>ports.toml'dan (manager)Süreç yöneticisinin kontrol portu.
--help, -hYardımı gösterir.
--version, -VProgram sürümünü gösterir.

Süreçler​

KomutNe yaparGerektirir
startBütün YTCC süreçlerini arka planda başlatır ve döner. YTCC bu klasörde zaten çalışıyorsa bunu söyler, bir şey yapmaz.
start <ID>Tek bir süreci başlatır. <ID>, status tablosundaki ID sütunudur.Çalışan YTCC, kontrol anahtarı
stopBütün süreçleri ve süreç yöneticisini durdurur.Çalışan YTCC, kontrol anahtarı
stop <ID>Tek bir süreci durdurur.Çalışan YTCC, kontrol anahtarı
restart <ID>Tek bir süreci yeniden başlatır.Çalışan YTCC, kontrol anahtarı
statusSüreç tablosunu ve son satırda lisans durumunu yazar.Çalışan YTCC

start seçenekleri (yalnız bütün YTCC için):

SeçenekAnlamı
--foreground, -fDönmek yerine Ctrl+C'ye kadar ön planda çalışır; dış bir servis yöneticisi için.
--no-openBaşlatmadan sonra arayüzü tarayıcıda açmaz.
--strictmanager.toml'daki weak_db_password = "deny" gibi, zayıf PostgreSQL parolasıyla başlamayı reddeder.

Bkz. YTCC süreçlerini yönetme.

Projeler​

KomutNe yaparGerektirir
start-project <project>Bir projenin sürücülerini ve servislerini başlatır. Bu bilgisayarda, hangi sürüm çizgisinde olursa olsun, başka bir proje çalışırken reddedilir.Çalışan YTCC, kontrol anahtarı
stop-project <project>Bir projenin sürücülerini ve servislerini durdurur.Çalışan YTCC, kontrol anahtarı

<project>, proje veritabanı adında scada_proj_'den sonra gelen kısımdır: scada_proj_pump_station için, v15 çizgisinde de scada_v15_proj_pump_station için pump_station.

start-project seçenekleri:

SeçenekVarsayılanAnlamı
--takeoverAynı proje başka bir YTCC sürümünde çalışıyorsa o sürümden durdurmasını ister, sonra projeyi burada başlatır.
--wait-secs <s>15Diğer sürümün durması için beklenecek saniye.

Projenin bir sürücüsünün dinlediği port başka bir program ya da başka bir YTCC kurulumu tarafından kullanılıyorsa start-project yine reddeder. Projenin hiçbir parçası başlatılmaz, port da kendiliğinden değiştirilmez. Bkz. Çalışma kilidi ve yan yana sürümler.

Veritabanı yükseltme​

KomutNe yapar
migrate <project>Proje veritabanını kurulu programların şemasına yükseltir. Projenin sürücüleri çalışırken reddeder.
migrate --registryKayıt defterini (registry) yükseltir. Herhangi bir YTCC süreci çalışırken reddeder.
migrate --allKayıt defterini, ardından arşivlenmemiş her projeyi yükseltir. Herhangi bir YTCC süreci çalışırken reddeder. Her proje önce yedeklenir; yedeği alınamayan projeye dokunulmaz. Yükseltilemeyen proje varsa komut sıfırdan farklı çıkış koduyla biter.

--backup-dir <klasör>, migrate --all yedeklerinin klasörünü belirler. Varsayılan, veri klasöründeki backups\exports klasörüdür.

Bkz. Veritabanları ve şema yükseltme.

Veritabanı parolası​

db-password PostgreSQL rolünün parolasını tek adımda değiştirir. Parolayı PostgreSQL'de ayarlar, yeni parolayla giriş yapılabildiğini denetler, sonra ayarları günceller: config\secrets.toml içindeki pg_password, o yoksa config\*.toml içindeki postgres:// adresleri. Bir adım başarısız olursa eski parola geri yüklenir. YTCC durmuş olmalıdır; aksi halde komut The stack is running. Stop it first: scada-manager stop iletisiyle biter.

SeçenekAnlamı
--password <parola>Sormak yerine verilen yeni parola. Kabuk geçmişinde kalır; sorulduğunda yazmak daha iyidir.
--generate24 karakterlik güçlü bir parola üretir ve hiçbir şey değişmeden önce bir kez yazar. Parolayı güvenli bir yere kaydedin. --password ile birlikte kullanılamaz.
--forceZayıf parolayı kabul eder.

--password ya da --generate yoksa komut parolayı göstermeden iki kez sorar. Parola en az 12 karakter olmalı, bilinen zayıf parolalardan olmamalı ve kullanıcı adı olmamalıdır. Sonra YTCC'yi scada-manager start ile başlatın.

Lisans​

KomutNe yapar
license statusLisans dosyasını, imzasını, öğe başına makine kimliği eşleşmesini, saati ve gün sayaçlarını, YTCC çalışırken kullanımı gösterir. --json aynısını JSON olarak yazar.
license request --customer <ad> --site <ad>İstek dosyası yazar. Lisans sözleşmesini kabul etmek için --accept-eula ekleyin; bu seçenek olmadan komut sözleşme özetini ve nerede okunacağını yazar, dosya yazmaz.
license activate <dosya>Lisans dosyasını doğrular ve yükler. Çalışan YTCC onu hemen kullanır.
license releaseİmzalı makbuz yazar ve lisansı bu sunucudan kaldırır. YTCC çalışmaya devam eder. Onay ister; --yes soruyu atlar.
license usage-reportİmzalı kullanım raporunu yazar. Çalışan YTCC ister.
license inspect <dosya>.ytreq, .ytlic, .ytrel ya da kullanım raporu dosyasının türünü, imzasını ve içeriğini gösterir. Hiçbir şey değiştirmez.
SeçenekGeçerli olduğu komutAnlamı
--cu <n>requestGereken CU. YTCC dururken zorunludur, çünkü kullanım o zaman ölçülemez.
--out <dosya ya da klasör>request, release, usage-reportDosyanın yazılacağı yer. Varsayılan config\license, adlar <sunucu adı>.ytreq, <lisans no>.ytrel ve <sunucu adı>-usage.txt. Var olan dosyanın üzerine hiçbir zaman yazılmaz.

YTCC çalışırken request, activate, release ve usage-report çalışan lisans servisinden geçer ve kontrol anahtarını data\control.key dosyasından okur. Bunları YTCC'yi başlatan hesapla ya da yönetici olarak çalıştırın. Aksi halde hiçbir şey değiştirmez ve bunu söylerler; Licence sekmesini kullanın ya da YTCC'yi durdurup komutu yeniden çalıştırın.

Çıkış koduAnlamı
0Başarılı.
1Komut yapılamadı; ileti nedeni ve çözümü söyler.
2Bir koşul sağlanmadı: sözleşme kabul edilmedi ya da onay verilmedi.
3Lisans servisi gerekli ama çalışmıyor ya da komut yetkilendirilemedi.

Bkz. Lisans ve Capacity Unit.

Yedekleme ve içe aktarma​

backup <project> tek bir projenin tam yedeğini tek bir zip dosyasına yazar. Proje çalışırken de çalışır. <project> kısa ad (slug), proje kimliği (scada_proj_<slug>) ya da görünen ad olabilir. Varsayılan dosya backups\<project>-<sürüm>-<tarih>-<saat>.zip'tir. Ana sayfa aynı yedeği Back up… (Türkçe arayüzde: Yedek al…) ile alır; bkz. Ana sayfadan proje yedeği alma.

SeçenekAnlamı
--out <dosya ya da klasör>Bu dosyaya ya da varsayılan adla bu klasöre yazar.
--forceVar olan --out dosyasının üzerine yazar.
--skip-unreadableBazı içerikler okunamasa da yedeği tamamlar; atlananlar listelenir. Bu seçenek yoksa yedek reddedilir.
--sampleKullanıcılar, parola özetleri, denetim kaydı ve projenin eski yedekleri olmadan örnek paket üretir.
--data-dir <klasör>Proje sunucusunun veri klasörü. Varsayılan: SCADA_DATA_DIR ya da apps\projects-server\data.

import <dosya>.zip bir yedeği proje olarak geri yükler. YTCC durmuş olmalıdır. Tasarım kilidi sırasında yalnız aynı kimlikle geri yükleme çalışır: --name ve --new-identity reddedilir, --cleanup çalışır.

SeçenekAnlamı
--name <ad>Yeni bir adla (yeni kimlik, klasör ve veritabanı) içe aktarır. Ad kullanılıyorsa gerekir; komut kendiliğinden ad seçmez.
--new-identityYeni kimlikli ayrı bir proje olarak içe aktarır. Aynı proje burada başka bir adla varsa gerekir.
--cleanup <project>İçe aktarmak yerine <project> için yarıda kalmış bir içe aktarmanın artıklarını kaldırır. Etkin bir projeyi hiçbir zaman kaldırmaz.
--data-dir <klasör>Proje sunucusunun veri klasörü, backup'taki gibi.

Bkz. Yedekleme ve geri yükleme.

Sunucu hesabı​

server-user sunucunun sistem yöneticisi olan root hesabını kurtarır. Yalnız proje sunucusunun veri klasöründeki dosyalarla çalışır; bu yüzden YTCC çalışırken de dururken de çalışır ve sonrasında yeniden başlatma gerekmez.

KomutNe yapar
server-user resetroot hesabına yeni şifre verir. Şifreyi ekranda göstermeden iki kez sorar. Hesabın kilidini de açar, hatalı deneme sayacını sıfırlar, hesabı etkinleştirir, açık oturumlarını kapatır ve sıfırlamayı sunucu hesabının denetim kaydına yazar. Sunucuda hiç sunucu hesabı yoksa bir hesap oluşturur.
server-user listSunucu hesaplarını listeler: kullanıcı adı, etkin, kilitli ve son şifre değişiminin zamanı. Şifre özetlerini hiçbir zaman göstermez.

server-user reset seçenekleri:

SeçenekVarsayılanAnlamı
--user <ad>rootSıfırlanacak hesap. Ad yoksa komut var olan adları listeler ve durur.
--password <şifre>Sormak yerine yeni şifre. Kabuk geçmişinde kalır; sorulduğunda yazmayı tercih edin.
--data-dir <klasör>Proje sunucusunun veri klasörü. Varsayılan: SCADA_DATA_DIR ya da apps\projects-server\data.

list de --data-dir alır. root şifresinin kuralına (en az 12 karakter, bir büyük harf, bir küçük harf ve bir rakam, kullanıcı adını içermeme) uymayan şifre uyarıyla kabul edilir. Bkz. root hesabını kurtarma.

Sunucu betikleri​

KomutNe yapar
script import <project> <dosya ya da klasör>.js dosyalarını projenin sunucu betiklerine yükler.
script export <project> <klasör>Projenin sunucu betiklerini bir klasöre yazar: <ad>.js, editörde TypeScript ile yazılmış betik için <ad>.ts.
script sync <project> <klasör>script export ile yazılmış bir klasördeki değişen .js dosyalarını yükler. Dışa aktarmadan sonra editörde değişmiş bir betiğin üzerine yazılmaz; çakışma bildirilir.

script import seçenekleri: --activate, --targets <desenler> ile --can-command, --publish-targets <desenler> ya da --publish-targets-file <dosya> ile --can-publish, --handler-ms <ms> (10 ile 60000 arası) ve --dry-run. script export seçeneği: --force var olan .js ve .ts dosyalarının üzerine yazar ve artık projede olmayan betiklerin dosyalarını siler; bu seçenek olmadan klasörde .js ya da .ts dosyası bulunmamalıdır. script sync seçenekleri: --watch çalışmayı sürdürür ve Ctrl+C'ye dek kaydedilen her dosyayı yükler, --activate yüklenen betikleri etkinleştirir de. Tasarım kilidi sırasında script import yalnız --dry-run ile çalışır, script sync reddedilir. Bkz. Sunucu betiklerini içe ve dışa aktarma.

Sürümler ve portlar​

Bu komutlar, project reclaim dışında, çalışan bir YTCC gerektirmez.

KomutNe yapar
versionÜrün sürümünü, kurulum kimliğini ve sözleşme sürümlerini yazar.
version --jsonAynısını JSON olarak, her projenin veritabanı adlarıyla (slug, db_name, hist_db_name) yazar.
version purge <ID> --confirm <ID>Aynı kökün altında kurulu başka bir sürümü siler: proje ve tarihçe veritabanlarını, kayıt defterini ve klasörünü.
ports suggestBu sürüm için boş bir port bloğu yazar. Aynı kökün altındaki sürümleri ve kurulum programıyla kurulmuş sürüm çizgilerini hesaba katar.
ports suggest --project <project>Kendi mesaj aracısı ve gateway'iyle çalışan bir proje için boş bir port takımı (nats, gateway, alarm) yazar.
project adopt <project>Bir projeyi kurulu başka bir sürümden devralır.
project reclaim <project>Bir projeyi devralındığı sürümden geri alır. Bu sürümün çalışıyor olması gerekir.

version purge seçenekleri:

SeçenekAnlamı
--confirm <ID>Zorunlu; kurulum kimliğini tekrarlamalıdır.
--yesKimliği yeniden yazmayı atlar (betikler için).
--include-chained-historyHiçbir tarihçe zincirinin kullanmadığı veritabanlarını siler. Başka bir sürümün hâlâ okuduğu tarihçe veritabanları hiçbir zaman silinmez.

ports suggest seçenekleri:

SeçenekAnlamı
--writeBloğu config\ports.toml'a, ports.toml varsa config\ports.toml.suggested'a yazar. --project ile portları bu sürümün config\projects.toml dosyasına kaydeder.
--project <project>Sürüm bloğu yerine projenin portlarını önerir.

project adopt seçenekleri:

SeçenekAnlamı
--from <ID>Aynı kökün altındaki kaynak sürüm klasörü, örneğin v12.
--from-root <klasör>--from yerine kaynak bağımsız kurulum klasörü.
--takeoverProje kaynakta çalışıyorsa kaynaktan durdurmasını ister.
--replaceProje burada zaten varsa mevcut kopyanın adını değiştirir ve devam eder.

project reclaim seçenekleri:

SeçenekVarsayılanAnlamı
--yesOnay sormaz (betikler için).
--wait-secs <s>15Diğer sürümün durması için beklenecek saniye.

Bkz. Sürümleri yan yana kurma ve Yeni sürüme yükseltme ve geri dönme.

Ayar dosyaları​

Kurulumun birkaç ayarının arayüzde alanı yoktur. Bunlar kurulumun yalnız yöneticilerin değiştirebildiği config klasöründedir; dosyayı yönetici olarak başlatılmış bir metin düzenleyicide açın ve ardından YTCC servisini yeniden başlatın. Yükseltme bu dosyaları korur.

AyarDosyaVarsayılanEtkisi
backup_exports_keepmanager.toml10Ana sayfa yedeklerinden proje başına kaçının backups\exports içinde tutulacağı, 1 ile 1000 arası.
weak_db_password = "deny"manager.tomluyarıZayıf PostgreSQL şifresinde uyarmak yerine açılmayı reddeder. start --strict aynısını bir kez yapar.
log_dayslog.toml10Günlük dosyalarının tutulduğu gün; 0 her dosyayı tutar. Bkz. Günlükler ve tanılama.
run_lock_grace_secsmanager.toml30Süreç yöneticisinin kaybolan çalışma kilidini geri almaya çalıştığı saniye. Bkz. Çalışma kilidi.
legacy_control_portsmanager.tomlyokÇalışma kilidi denetimi için aynı sunucudaki YTCC v1.5.0 ya da daha eskisinin kontrol portları.
nats_bindmanager.toml127.0.0.1Mesaj yolunun adresi. Ayarlamayın; bkz. Güvenlik sertleştirme kontrol listesi.
SCADA_PG_POOL_MAXmanager.toml, bir sürecin [process.inject] bölümü2 ya da 6O sürecin en büyük PostgreSQL bağlantı havuzu, 1 ile 64 arası. Bkz. PostgreSQL bağlantıları.
[access]gateway.tomlyokCanlı veri sunucusunun kabul ettiği istemci adresleri; bkz. Güvenlik sertleştirme kontrol listesi.
Son değer deposugateway.tomlaçıkBkz. Kalıcı son değer deposu.
YTCC_IMPORT_MAX_MBProje sunucusunun ortamı2048Ana sayfanın içe aktardığı en büyük proje paketi, MB.

Komut satırı çıktısı​

Komutlar renksiz ve zaman damgasız kısa satırlar yazar. Varsayılan olarak yalnız uyarılar ve hatalar gösterilir; ayrıntılar logs içindeki günlük dosyasına gider. Daha fazla çıktı için RUST_LOG ortam değişkenini verin, örneğin $env:RUST_LOG = "info".