2016-07-08 8 views
0

Hallo Leute, ich versuche, die Sicherung von Snapshots für meine ec2-Volumes auf Amazon zu automatisieren. Ich verfolge die EC2-Automate-Backup-Skript von Collin Johnson Wenn Sie den Befehl auf der Kommandozeile ausgeführt wird es die Snapshot-Erstellung (in Betrieb):Wie konfiguriere ich crontab zum Ausführen von ec2-automate-backup.sh Skript

[email protected]:/usr/local/ec2/scripts$ sudo ./ec2-automate-backup.sh -s tag -t "Backup,Values=true" -c ./cron-primer.sh -r "eu-west-1" 

Für Testzwecke, wenn ich eine crontab schaffen es nicht

Arbeits
0 10 * * * ubuntu /usr/local/ec2/scripts/ec2-automate-backup.sh -s tag -t "Backup,Values=true" -c /usr/local/ec2/scripts/cron-primer.sh -r "eu-west-1" 

Wo ist mein Problem hier läuft das Skript auf Ubuntu 14.04 - Amazon?

Antwort

0

Es gibt zwei Möglichkeiten:

  1. Sie benötigen Root-Zugriff um das Skript auszuführen. Sie können dieses Problem lösen, indem crontab von root ändern:

    sudo crontab -e

Siehe How to run a cron job using the sudo command

  1. Sie müssen im selben Verzeichnis wie das Skript sein auszuführen es

    0 10 * * * ubuntu cd /usr/local/ec2/scripts && ./ec2-automate-backup.sh -s tag -t "Backup,Values=true" -c ./cron-primer.sh -r "eu-west-1"

Siehe What is the 'working directory' when cron executes a job

+0

Ich habe Ihren Vorschlag vergeblich versucht. Ich weiß nicht, was es falsch macht. alle 2 Skripte, die ich in den ausführbaren Modus gesetzt habe sudo chmod + x ec2-automate-backup.sh cron-primer.sh – coolman

0

In crontab Datei, ein Shell-Skript ausführen Sie eine der folgenden Ansatz verwenden:

1. Rufen Sie das Shell-Skript direcly, dh

0 10 * * * /path/to/script.sh 

wo Die script.sh sollte ausführbar gemacht werden.

2. Führen Sie das Skript von sh Dienstprogramm, das heißt

0 10 * * * sh /path/to/script.sh 

hier die script.sh nicht ausführbar gemacht werden müssen.

Nun, wenn in Ihrem Fall, müssen Sie einen bestimmten Pfad gehen und dann Skript ausführen, dann:

  • entweder den vollständigen Pfad des Skripts in crontab Datei direkt zur Verfügung stellen, oder
  • Enclose die Ausführungsbefehle in einer anderen Shell-Datei und führen Sie die umgebende Datei von cron aus.
+0

0 10 * * * ubuntu cd/usr/lokal/ec2/scripts && ./ec2-automate-backup .sh -s tag -t "Backup, Werte = wahr" -c ./cron-primer.sh -r "eu-west-1": Ich habe den Pfad angegeben, wie du es gesagt hast, aber es funktioniert immer noch nicht. – coolman

+0

Sie setzen extra "."vor dem Skriptpfad. Es sollte ein einfacher Pfad sein, .i.e.'/path/to/script.sh' –

Verwandte Themen