Skript gesucht: Screenshots per FTP hochladen und URL in Zwischenablage

thulium

Aktives Mitglied
Thread Starter
Dabei seit
12.11.2011
Beiträge
3.693
Reaktionspunkte
400
Moin.

Unter Windows mochte ich das kleine Tool Hardcopy.

Damit war es möglich Screenshots anzufertigen und diese dann automatisch per FTP auf den eigenen Server zu laden.
Zusätzlich wurde der URL gleich in die Zwischenablage kopiert.

So kann man schnell und mühelos anderen einen Screenshot zukommen lassen.

Nun bin ich vor zwei Wochen zu OS X migriert und suche noch einen Ersatz.

Kennt ihr vielleicht ein Skript, welches das erledigen kann?
Im Prinzip soll der jeweilige Screenshot nicht auf den Schreibtisch (was ja der Standard ist), sondern auf einen Remote-Server gespeichert werden.

Es sollen also weiterhin die bordeigenen Mittel zum Anlegen von Screenshots eingesetzt werden. Nur das Ziel ist ein anderes.

Wichtig ist, wie erwähnt, dass der URL in die Zwischenablage kopiert wird.

Prima wäre es, wenn zusätzlich der Screenshot noch in einen lokalen Ordner gelegt wird.

Beispiel:
~/meine-website/screenshots/sc#2016.04.20#17-43-22.png

Danke.
 
Also mehr als 20 Zeilen Script sollten das ja nicht sein, oder? Soo aufwendig kann ich mir das nicht vorstellen, aber ich würde es mit AppleScript probieren. Disclaimer: Ich kann kein Applescript.
Aber: Screenshotfunktionalität ist schon im Betriebsystem, scp/sftp auch. Selbst in c# kann man mit einer Codezeile Text in die Zwischenablage kopieren. Ergo kann ich mir das bei AppleScript nicht groß schwieriger vorstellen.
Dann leg los und google Dich durch.

PS: Ich hoffe für dich, du nutzt sftp oder scp, kein ftp, oder du bist im internen netz von deinem Server? Ansonst könntest du durchaus mal dein Password ändern.
 
Ich möchte als absolut Unkundiger im Programmieren nicht herumstoffeln.

Klar, man sich immer in alles selbst einarbeiten. Aber man will das nicht immer. In diesem Fall suche ich ein fertiges Skript. Die Aufgabe ist ja nicht exotisch, daher hoffe ich, dass es sowas bereits gibt.
 
Probier mal:

Öffne den Skript-Editor (Ordner Dienstprogramme) und kopiere folgendes hinein:

Code:
on run
    set server to "ftp://domain.tld"
    -- set server to "username:password@ftp://domain.tld"

    -- Dateiname in der Form /screenshots/sc#2016.04.20#17-43-22.png
    set filename to do shell script "echo \"/screenshots/$(date +'sc#%Y.%m.%d#%H-%M-%S.png')\""
  
    -- screenshot
    do shell script "screencapture -m \"$HOME/meine-webseite" & filename & "\""
  
    -- ftp
    do shell script "curl -T \"" & filename & "\" " & "\"" & server & filename & "\""

    -- den Dateinamen ins clipboard
    do shell script "echo \"$HOME" & filename & "\" | pbcopy"
end run

Dann teste das Skript mal (ich kenn den Server ja nicht), indem du auf "Ausführen" klickst. Gegebenenfalls musst du noch User und Passwort angeben. Ein Beispiel ist in der dritten Zeile. Wenn es funktioniert, speichere es im Dateiformat "Programm" (wichtig!). Die Checkboxen bleiben unmarkiert. Jetzt öffnest du das Programm "Automator" (ebenfalls im Ordner "Dienstprogramme"). Als Dokumentenart wählst du "Dienst" (Zahnrad). Oberhalb der Aktionen (rechte Seite) wählst du "Dienst empfängt keine Eingabe in jedem Programm". Als Aktion wählst du "Programm starten" und ziehst das rüber. In der Liste gehst du ganz nach unten zum Punkt "Andere ..." und suchst das Skript. Jetzt kannst du den Ablauf noch mal testen (oben rechts "Ausführen"). Wenn alles OK ist, speichern. Als letztes öffnest du die "Systemeinstellungen/Tastatur". Dort den Tab "Kurzbefehle" und links "Dienste" wählen. Rechts solltest du jetzt unter dem Punkt "Allgemein" (ganz unten) den eben gespeicherten Ablauf finden. Wenn du den markierst, kannst du mit der Schaltfläche "Kurzbefehl" eine Tastenkombination zuweisen.
Fertig.
 
Herzlichen Dank schonmal. Am WE werde ich es testen und berichten.
 
@yellowsn0w
Danke für Deinen Hinweis.
Aber 25 Dollar sind mir für die Aufgabe zuviel.

@detoteldot
Sorry, dass ich noch nicht zum Ausprobieren des Skriptes kam.
Ich tue mich etwas schwer mit der Umsetzung und wollte es selber rauskriegen, wo es hakt.
 
Zurück
Oben Unten