amazon-archives / data-pipeline-samples

This repository hosts sample pipelines
MIT No Attribution
464 stars 269 forks source link

aws efs restore fail : ./efs-restore.sh: line 22: [: too many arguments #75

Closed wzhonggo closed 7 years ago

wzhonggo commented 7 years ago

Hello,

I do some test use efs with data pipeline, according to backup efs . I can backup efs , but tried restore efs many times failed. The efs size only 200M,

It is the efs s3 log

27 Jul 2017 08:42:35,923 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.taskrunner.TaskPoller: Executing: amazonaws.datapipeline.activity.ShellCommandActivity@31e1783b
27 Jul 2017 08:42:36,027 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.objects.CommandRunner: Executing command: wget https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-restore.sh
chmod a+x efs-restore.sh
./efs-restore.sh $1 $2 $3 $4 $5
27 Jul 2017 08:42:36,042 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.objects.CommandRunner: configure ApplicationRunner with stdErr file: output/logs/df-02164142M6NFNIT11Y63/ShellCommandActivityObj/@ShellCommandActivityObj_2017-07-27T08:40:29/@ShellCommandActivityObj_2017-07-27T08:40:29_Attempt=1/StdError  and stdout file :output/logs/df-02164142M6NFNIT11Y63/ShellCommandActivityObj/@ShellCommandActivityObj_2017-07-27T08:40:29/@ShellCommandActivityObj_2017-07-27T08:40:29_Attempt=1/StdOutput
27 Jul 2017 08:42:36,043 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.objects.CommandRunner: Executing command: output/tmp/df-02164142M6NFNIT11Y63-1f87ddb121394f15b1d638c67340a48e/ShellCommandActivityObj20170727T084029Attempt1_command.sh with env variables :{} with argument : [10.1.2.200:/, 10.1.2.251:/, daily, 0, backup-fs-12345678]
27 Jul 2017 08:42:38,569 [ERROR] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.connector.staging.StageFromS3Connector: Script returned with exit status 23
27 Jul 2017 08:42:38,605 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.taskrunner.LogMessageUtil: Returning tail errorMsg :--2017-07-27 08:42:36--  https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-restore.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.52.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.52.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1474 (1.4K) [text/plain]
Saving to: 鈥榚fs-restore.sh鈥�

     0K .                                                     100%  127M=0s

2017-07-27 08:42:36 (127 MB/s) - 鈥榚fs-restore.sh鈥� saved [1474/1474]

./efs-restore.sh: line 22: [: too many arguments
rsync: change_dir "/mnt/backups/backup-fs-12345678/daily.0" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
27 Jul 2017 08:42:38,606 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.taskrunner.HeartBeatService: Finished waiting for heartbeat thread @ShellCommandActivityObj_2017-07-27T08:40:29_Attempt=1
27 Jul 2017 08:42:38,606 [INFO] (TaskRunnerService-resource:df-02164142M6NFNIT11Y63_@EC2ResourceObj_2017-07-27T08:40:29-0) df-02164142M6NFNIT11Y63 amazonaws.datapipeline.taskrunner.TaskPoller: Work ShellCommandActivity took 0:2 to complete

The configuration file is nothing special. myImageID use the the Amazon Linux AMI 2017.03.1 (PV) ami-98f3e7e1 myInstanceType use t1.micro

Thanks for your answer

wzhonggo commented 7 years ago

I backup efs change 1-Node-EFSBackupPipeline.json default myEfsID , but restore efs use the 1-Node-EFSRestorePipeline default myEfsID. It is restore efs success after correct myEfsID.