nicht finden Ich muss mit einigen Anforderungen von einem Server in S3 Anzahl von Dateien verschieben:AWS CLI-Befehl innerhalb Bash-Skript kann Datei
- speichern Transfer Fortschritt, wenn die Verbindung
- Bei Verbindungs tropfen nächster Lauf muss weiterhin mit nicht-hochgeladenen Dateien
- Run as Service - TODO
Also das ist, was ich habe, ist es nicht vollständig, weil ich ein Problem habe mit einer Datei suchen, wenn der Befehl ausgeführt werden aus Witz hin Skript, und doch funktioniert der Befehl, wenn er rohen Code ausführt.
Wie kann ein Skript die $ source Datei in diesem Skript finden? Gibt es auch bessere Möglichkeiten, dies zu tun?
Befehl:
aws s3 cp '/var/www/files/folder/file1.mp4' 's3://s3-public/folder/file1.mp4'
Fehler:
script.sh: line 20: aws s3 cp '/var/www/files/folder/file1.mp4' 's3://s3-public/folder/file1.mp4': No such file or directory
Code:
#!/bin/bash
aws_bucket='s3://s3-public/'
home='/home/user/'
files='/var/www/files/'
input="${home}videos_list.txt"
output="${home}videos_done.txt"
videos_list='()'
videos_done='()'
arrays_hydrate() {
mapfile -t videos_list < "$input"
mapfile -t videos_done < "$output"
}
aws_init() {
for index in "${!videos_list[@]}"
do
source="${videos_list[$index]}"
destination=$(echo "${videos_list[$index]}" | sed -e "s#^$files##")
length="${#source}"
if [ "$length" -ne "0" ]; then
command="aws s3 cp '${source}' '${aws_bucket}${destination}'"
echo "$command"
$("$command") &
fi
done
}
init() {
arrays_hydrate
aws_init
}
init
exit 0
@ruakh, Frage zu Ihrem Bearbeitungsverlauf. Der Kommentar in Rev.2 war ein Fehler oder sollte dieser Beitrag etwas aufgeräumt werden? – HelpNeeder
Ich habe meine Bearbeitung zurückgesetzt, weil * Teil * des Code-Dumps notwendig ist, damit die Frage Sinn ergibt. Aber Sie sollten die Frage immer noch über https://stackoverflow.com/help/mcve bearbeiten. Sie haben viel mehr Code gepostet als relevant. – ruakh