2017-09-28 11 views
0

Ich versuche, einen Systembefehl aus meiner glänzenden App zu nennen:rufenden System Befehle von glänzendem App

system("ssh -t [email protected] /home/soporte/Automatismos/refrescar_csv.sh user password", wait = TRUE) 

Was will ich tun ist ein Bash-Skript in einer anderen Maschine über SSH laufen. Nun, ich testete den Systemanruf von der R-Konsole als glänzend Benutzer angemeldet (wie ich diese Systemaufrufe gelesen habe, sind als glänzend Benutzer ausgeführt) und es funktioniert perfekt. Aber dann, als ich von der glänzenden App aus versuchte funktioniert es nicht. Ich habe auch die Benutzerrechte überprüft und so weiter.

Der Script-Code ist:

#!/bin/bash 
#Activamos el proxy de polen 
echo "Levantando el proxy a Internet...." 
sudo /root/bin/proxy2blaster.sh up $1 $2 
export http_proxy=http://127.0.0.1:3128 
export https_proxy=https://127.0.0.1:3128 
rm -f /srv/shinyapps/proyectosR/Web/csv_report_manager3.csv 
#Actualizamos el CSV atando la API de UDO 
echo "Descargando CSV..." 
curl -u user:password --insecure -X GET "https://www.udo-tt.com/api/tt/reports/csv/ticketsbyservice?date_start=$(date +"%Y-%m-%d" -d "-1 year")T00:00:00.000Z&date_end=$(date +"%Y-%m-%d" -d "-1 day")T23:59:00.999Z&service=CS_GLOBNOC" > /srv/shinyapps/proyectosR/Web/csv_report_manager3.csv 

#Resfrescamos el servidor shiny 
echo "Refrescando servidor shiny..." 
sudo kill -9 $(ps ax | grep proyectosR | fgrep -v grep | awk '{ print $1 }') 

#Desactivamos proxy de Polen 
echo "Cerrando proxy...." 
sudo /root/bin/proxy2blaster.sh down $1 $2 

Was ich in diesem Skript zu tun ist, einen Proxy zu öffnen dann ich eine CSV-Datei heruntergeladen, den glänzenden Server aktualisiert und dann die Verbindung schließen. Wenn es fehlschlägt, erhalte ich eine leere CSV-Datei.

Ich habe den Exit-Code in beiden Fällen erfasst, durch die Konsole bekomme ich 0 Code, was bedeutet, dass das Skript korrekt ausgeführt wurde und durch glänzende App bekomme ich 1, was nicht korrekt ist.

Beachten Sie, dass die glänzende Server-Maschine ein Docker-Container (Ubuntu) ist und die Maschine, auf der ich das Skript ausführen muss, die Host-Maschine (CentOS) ist.

Ich habe versucht, nach Dokumentation zu diesem Thema zu suchen, aber ich konnte nicht viele Informationen im Internet finden.

Wäre es möglich, die glänzende App irgendwie zu debuggen, um zu finden, was scheitert?

Jede Hilfe wäre willkommen. Vielen Dank im Voraus

+0

Das ist definitiv unerwartet. Wird in Ihren App-Protokollen eine Ausgabe angezeigt? Das wäre standardmäßig "/ var/log/shiny-server /". –

+0

Es scheint, dass es ein Berechtigungsproblem war und es bereits gelöst ist. Danke trotzdem! –

Antwort

0

Es scheint, dass es ein Berechtigungsproblem war. Es ist bereits gelöst. Vielen Dank!