Başlatılmayacak bir kabuk komut dosyasında sorun giderme konusunda yardıma mı ihtiyacınız var (evet, izinler 755)


1

Saatin gecikmesi olabilir, ancak aşağıdaki komut dosyasının neden çalışmadığını anlayamıyorum. Doğrudan CommuniGate Pro belgelerinden geliyor http://www.communigate.com/CGPSophos/#Update , ancak el ile çalıştırmayı denediğimde, yankı komutları yankılanmıyor ve e-posta hiçbir zaman gönderilmiyor.

Yükleme işlemi: web sayfasından kopyalayın, sudo pico dosya adı, yapıştır, kaydet, chmod 755.

Doğrudan çağırdığı komutları çalıştırdığımda her şey yolunda gider; Sorun şu ki bunların başlatılmasıyla düzenli olarak başlatılmasını istiyorum ve komutlar sadece bu temel dizinden. lansmanında bunun nasıl yapılacağı hakkında hiçbir fikrim yok ve Apple docs yardımcı olmuyor. (Biri bana bunun nasıl yapılacağını söylerse, soru cevap olarak kabul edilecektir.) [Edit: WorkingDirectory anahtarını "man launchd.plist" de buldu, fakat kabuk betiği konusunda yardım yine de şık olurdu.]

Senaryo:

#!/bin/sh
SOPHOS_PATH="/var/CommuniGate/CGPSophos"
MAILER_CMD="/usr/bin/mail -s 'Sophos Update Report'"
REPORT_ADR="postmaster"
( \
if [ "$1" = -m ]; then
 echo "Launching Sophos monthly update..."
 cd ${SOPHOS_PATH}
 ./monthlyUpdate 2>&1
 ./engineUpdate 2>&1
fi
echo "Launching Sophos daily update..."
  cd ${SOPHOS_PATH}
  ./dailyUpdate 2>&1
) | eval ${MAILER_CMD} ${REPORT_ADR}

Ah ... WorkingDirectory anahtarını launchd.plist man sayfasında buldu. Bir problem çözüldü. Kabuk betiğinin neden paniklendiğini hala bilmek istiyorum.
Jeff Porten

Kafam karıştı. Manuel olarak çalıştırırsanız çalışmadığını söylersiniz, fakat çalıştırırsanız çalışmadığını da söylersiniz. Ve lansman da bir rol oynuyor gibi görünüyor (başka bir solucan kutusu açar). Bu adımı adım adım atabilir ve betiğin bir kabuk içinde çalıştırılmasını sağlamaya odaklanabilir miyiz? Sorunuzu buna göre yeniden yazabilir misiniz?
nohillside

Yankı, çıktı postaya gönderildiği için Terminal'de görünmüyor. Posta sunucunuz doğru yapılandırılmış mı? Değiştirir misiniz eval ${MAILER_CMD} ${REPORT_ADR} ayrılmak cat her şeyi ekranda terk etmek için?
nohillside

Hızlı cevabınız için teşekkür ederim! Hala sorumu düzeltiyorum ve sen zaten buradasın. Evet, sorun şu ki /path/to/script.sh belki yarım saniye sonra bir sistem bilgi istemi döndürür; Komutların geri kalanı sorunlu olsa bile, yankı komutlarına ulaşmadığından hiçbir şeyin olmadığını varsayıyorum. ./monthlyUpdate işleri; ./script.sh yapmaz.
Jeff Porten

Aha (yeniden "çıktılar postaya gönderildi")! Anladım, yankının da yönlendirildiğinin farkında değildim. Evet, tamamen olası bir posta sorunu var, bu dev bir sunucu ve henüz giden postaları test etmedim. Bana bir dakika ver, ben değerlendirme kodunu kaldırıp tekrar deneyeceğim - bu stdout'u koymak zorunda, değil mi?
Jeff Porten
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.