1

Using the command:

 drush arr ~/drush-backups/site.tar.gz --db-url=mysql://df_database:password@localhost/df_databaseuser --destination=~/domains/site.kz/public_html/temp

(archive size is ~5gb),

I get this error:

 Unable to untar /home/user/drush-backups/site.tar.gz.                [error]
 Unable to extract site archive tarball to                            [error]
 /tmp/drush_tmp_1384866055_528b6107d88d6.

Why does it happen? However, when I try to untar archive lower than 1gb I'm not getting any errors.

5
  • and what's in your OS error log?
    – Mołot
    Nov 19, 2013 at 13:07
  • 1
    If you can't untar any file larger than 1gb you have a problem with your OS. Can you confirm that this is definitely a Drupal issue by trying that?
    – Clive
    Nov 19, 2013 at 13:12
  • Just tried ~3gb archive. Worked well either. Is there a chance its a problem with a drush config? Nov 19, 2013 at 13:20
  • Try extracting it using tar -xzvf site.tar.gz to determine if it's your OS or Drush/Drupal causing the problem Nov 19, 2013 at 16:45
  • tar xvfz - worked fine. Nov 20, 2013 at 3:00

2 Answers 2

4

By default the command drush archive-restore creates a unique temporary folder under /tmp (*/tmp/drush_tmp_1394487346_531e303223...*) where it will extract the archived tarball content, and later will move the $doc_root into the $destination - with the option overwrite.

I guess your /tmp folder resides on a separate partition, ~4GB in size; restoring a 3GB archive worked well, but it fails for 5BG. It looks like drush archive-restore works only when the system's temp folder is large enough to accommodate the extracted tarball.

PS. drush archive-restore is defined in archive.drush.inc :

function "drush_archive_restore" (drush_tarball_extract($file, $tmp)), where $tmp = drush_tempdir();

Funtion drush_tempdir() is defined in filesystem.inc - creates a unique temporary directory and returns its path. drush_tempdir() uses drush_find_tmp() which more likely returns /tmp

0

I got this exact error when I tried the following from a script:

drush arr ${DUMP_DIR}/`ls ./ | grep *.tar.gz` --destination=/home/foo/bar

with a single .tar.gz file in the directory. It turns out my filename was like: `some-file-MM-DD-YY-HH:MM:SS.tar.gz

in this case the : (colons) are not escaped by my shellscript and I get that generic extract error. Renaming my dump file to something simple like dump.tar.gz allows the drush command to complete.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.