• 04-06-2014, 22:55:20
    #1
    Merhaba,bir yazılım yapıyorum sunuculara belli komutlar gönderecek ve karşılıklarını bana gösterecek,SSH.NET Library'yi projeme dahil ettim komutu göndermeyi başardım ancak komutun çıktısından bir kısmı kesip almam lazım nasıl yapabilirim komplede alsam olur yardımcı olabilecek var mı?
  • 04-06-2014, 23:39:32
    #2
    kodlarını paylaşır mısın burda bakalım ?
    kullandığın libraryi bilmiyorum ama ya send ettiğinde bir geri dönüş değeri vardır ya da ilgili sınıfın bir receive eventi vardır oradan alacksın..
  • 04-06-2014, 23:44:03
    #3
    Projeyi tahmin edebiliyorum, daha detaylı bir versiyonunu yazıyorum çünkü Eğer tahmin ettiğim şeyse tabi.

    Geri dönen değeri işlemek için uğraşacağına gönderdiğin komutla işlenmiş bir veri elde edebilirsin. Atıyorum uptime değerini awk ile işleyip gün, saat, dakika olarak ayrı ayrı döndürebilirsin. Linux bu açıdan sana çok fazla yol sunar.
  • 04-06-2014, 23:47:24
    #4
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    kodlarını paylaşır mısın burda bakalım ?
    kullandığın libraryi bilmiyorum ama ya send ettiğinde bir geri dönüş değeri vardır ya da ilgili sınıfın bir receive eventi vardır oradan alacksın..
                string IP = "ip"";
                string User = "root";
                string Pass = "parola";
    
                try
                {
                    var server1 = new SshClient(IP, User, Pass);
                    server1.Connect();
                    server1.RunCommand("top");
                    
                    Burada karşılığı almam lazım
                    
                    server1.Disconnect();
                }
                catch (Exception ex)
                {
                    ex = new Exception("Bağlantıda problem/ler mevcut !");
                    MessageBox.Show(ex.Message);
                }
    https://sshnet.codeplex.com/discussions/301739 şurada anlatmışlar ama tam çözemedim,ilginiz için teşekkürler.

    CtrlInformatics adlı üyeden alıntı: mesajı görüntüle
    Projeyi tahmin edebiliyorum, daha detaylı bir versiyonunu yazıyorum çünkü Eğer tahmin ettiğim şeyse tabi.

    Geri dönen değeri işlemek için uğraşacağına gönderdiğin komutla işlenmiş bir veri elde edebilirsin. Atıyorum uptime değerini awk ile işleyip gün, saat, dakika olarak ayrı ayrı döndürebilirsin. Linux bu açıdan sana çok fazla yol sunar.
    Load değerlerini alacağım,belirli seviyenin üstündeyse saatin yanından uyarı verdireceğim birde yedekleme ile ilgili bir planım var
  • 05-06-2014, 00:05:44
    #5
    Axerhosting adlı üyeden alıntı: mesajı görüntüle


    Load değerlerini alacağım,belirli seviyenin üstündeyse saatin yanından uyarı verdireceğim birde yedekleme ile ilgili bir planım var
    Kısmen aynı projeymiş. O zaman sana yardımcı olalım Tabiki şaka insanlık ölmedi.

    Belirtmek isterimki C#tan zerre anlamam. C++ programcısıyım ben. Aşağıdaki sonuçların çıktılarını değişkenlere atayabilirsin:

    Bu kod 1, 5 ve 15. dakikanın loadlarını verir: awk '{ print "1 dk: %" $1 " - 5 dk: %" $2 " - 15 dk: %" $3 }' /proc/loadavg

    Bu kod o anki yani 1. dkdaki loadı: awk '{ print "%" $1}' /proc/loadavg
    % işareti olmadan: awk '{print $1}' /proc/loadavg

    Sanırım mantığı anlamışsındır. Bu şekilde yazmak seni gereksiz hantallıktan kurtaracaktır. Linux geniş bir sistemdir. İstediğin gibi oyna onunla, sana ayak uydurur.
  • 05-06-2014, 00:11:41
    #6
    CtrlInformatics adlı üyeden alıntı: mesajı görüntüle
    Kısmen aynı projeymiş. O zaman sana yardımcı olalım Tabiki şaka insanlık ölmedi.

    Belirtmek isterimki C#tan zerre anlamam. C++ programcısıyım ben. Aşağıdaki sonuçların çıktılarını değişkenlere atayabilirsin:

    Bu kod 1, 5 ve 15. dakikanın loadlarını verir: awk '{ print "1 dk: %" $1 " - 5 dk: %" $2 " - 15 dk: %" $3 }' /proc/loadavg

    Bu kod o anki yani 1. dkdaki loadı: awk '{ print "%" $1}' /proc/loadavg
    % işareti olmadan: awk '{print $1}' /proc/loadavg

    Sanırım mantığı anlamışsındır. Bu şekilde yazmak seni gereksiz hantallıktan kurtaracaktır. Linux geniş bir sistemdir. İstediğin gibi oyna onunla, sana ayak uydurur.
    Komut gönderme olayı tamamda alamıyorum şuanda sıkıntı orada ilgin için çok teşekkürler.

    Yani şuanki durum ben konuşuyorum adam bana bakıyor bir türlü konuşturamadım
  • 05-06-2014, 00:28:11
    #7
    teamviewer yolla hocam özelden bi bakayım..
  • 05-06-2014, 00:34:59
    #8
    Ben ilk mesajı yanlış anlamışım. Kodlara bakınca dank etti şimdi.

    Direk olarak komut veriyorsun, sınıfta çıktı tanımlanmamışsa değer vermeyecektir bildiğim kadarıyla. Eğer imkanın varsa şu şekilde denemen daha yararlı olur: Komutu shell ekranına yazdır ve entera bastır (WriteLine olayı sanırım). Ardından aldığı değeri feof (C#taki karşılığı nedir bilmiyorum) dönene kadar oku ve değişkene aktar yada varmı bilmiyorum ama benzerinin olması lazım ConsoleReadLine ile satırdaki değeri al.

    Ben ssh bağlantılarında veri okumayı mantıken bu şekilde yapıyorum. Eğer çözüm bulamazsan ek bir deneme yolu olsun.
  • 05-06-2014, 01:07:03
    #9
    Ertan bey sağolsun çok yardımcı oldu,her ikinizede tekrar teşekkürler.