# Restore from folder rather then tar.gz

**URL:** https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885
**Category:** Advanced use case
**Tags:** english
**Created:** [May 7, 2019, 1:15pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885 "2019-05-07T13:15:28Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 7, 2019, 1:15pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/1 "2019-05-07T13:15:28Z")

</div>

Hi

Synapse gave me an error while upgrade and further the restore script gave error to while upgrade. So I lost synapse all together.  
To restore the app from the backup archive, I need to extract the backup tar.gz from the archive fix the error in the restore and run the restore manually.

But when I create the synapse.tar.gz from this command `$ tar czf synapse.tar.gz synapse/*` and run `$ yunohost backup restore synapse --debug` . I got this error:

```
310 DEBUG loading actions map namespace 'yunohost'
331 DEBUG extra parameter classes loaded: ['comment', 'ask', 'password', 'required', 'pattern']
331 DEBUG initializing base actions map parser for cli
332 DEBUG registering new callback action 'yunohost.utils.packages.ynh_packages_version' to ['-v', '--version']
409 DEBUG initialize authenticator 'ldap-anonymous' with: uri='ldap://localhost:389', base_dn='dc=yunohost,dc=org', user_rdn='None'
416 DEBUG lock has been acquired
493 DEBUG loading python module yunohost.backup took 0.077s
494 INFO processing action [20312.1]: yunohost.backup.restore with args={'force': False, 'name': 'synapse', 'apps': None, 'system': None, 'auth': <moulinette.authenticators.ldap.Authenticator object at 0x7f00aac2b050>}
494 WARNING YunoHost is already installed
Do you really want to restore an already installed system? [y/N]: Y
12866 DEBUG unable to retrieve '/home/yunohost.backup/archives/synapse.info.json' inside the archive
Traceback (most recent call last):
  File "/usr/lib/moulinette/yunohost/backup.py", line 2233, in backup_info
    tar.extract('info.json', path=info_dir)
  File "/usr/lib/python2.7/tarfile.py", line 2109, in extract
    tarinfo = self.getmember(member)
  File "/usr/lib/python2.7/tarfile.py", line 1829, in getmember
    raise KeyError("filename %r not found" % name)
KeyError: "filename 'info.json' not found"
12868 DEBUG action [20312.1] executed in 12.375s
12868 DEBUG lock has been released
12869 ERROR Invalid backup archive
```

---

<div class="post-metadata">

### Author: ![ljf](https://forum.yunohost.org/user_avatar/forum.yunohost.org/ljf/32/58_2.png) [@ljf](https://forum.yunohost.org/u/ljf)
#### Post date: [May 7, 2019, 1:52pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/2 "2019-05-07T13:52:56Z")

</div>

info.json is present in your folder ?

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 7, 2019, 3:09pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/3 "2019-05-07T15:09:48Z")

</div>

Yes its present. These files are present **apps backup.csv info.json**

---

<div class="post-metadata">

### Author: ![ljf](https://forum.yunohost.org/user_avatar/forum.yunohost.org/ljf/32/58_2.png) [@ljf](https://forum.yunohost.org/u/ljf)
#### Post date: [May 7, 2019, 5:27pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/4 "2019-05-07T17:27:29Z")

</div>

I think whe you tar again the content you tar the directory and not the content of the directory.

info.json need to be at the root of the archive

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 8, 2019, 3:57am UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/5 "2019-05-08T03:57:17Z")

</div>

Can you tell the command for the tar only the content of the folder in /home/yunohost.backup/archive/synapse to synapse.tar.gz ?

---

<div class="post-metadata">

### Author: ![ljf](https://forum.yunohost.org/user_avatar/forum.yunohost.org/ljf/32/58_2.png) [@ljf](https://forum.yunohost.org/u/ljf)
#### Post date: [May 8, 2019, 10:49am UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/6 "2019-05-08T10:49:57Z")

</div>

```auto
cd /home/yunohost.backup/archive/synapse/ 
tar -zcvf ../synapse.tar.gz .

```

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 8, 2019, 5:17pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/7 "2019-05-08T17:17:03Z")

</div>

@ljf  
I tried as you suggested but its still failing. What I am doing wrong?

```
$ yunohost backup restore synapse --debug 
193 DEBUG loading actions map namespace 'yunohost'
217 DEBUG extra parameter classes loaded: ['comment', 'ask', 'password', 'required', 'pattern']
217 DEBUG initializing base actions map parser for cli
219 DEBUG registering new callback action 'yunohost.utils.packages.ynh_packages_version' to ['-v', '--version']
319 DEBUG initialize authenticator 'ldap-anonymous' with: uri='ldap://localhost:389', base_dn='dc=yunohost,dc=org', user_rdn='None'
323 DEBUG lock has been acquired
468 DEBUG loading python module yunohost.backup took 0.144s
468 INFO processing action [31673.1]: yunohost.backup.restore with args={'force': False, 'name': 'synapse', 'apps': None, 'system': None, 'auth': <moulinette.authenticators.ldap.Authenticator object at 0x7f9f62cff050>}
468 WARNING YunoHost is already installed
Do you really want to restore an already installed system? [y/N]: Y
13792 DEBUG unable to retrieve '/home/yunohost.backup/archives/synapse.info.json' inside the archive
Traceback (most recent call last):
  File "/usr/lib/moulinette/yunohost/backup.py", line 2233, in backup_info
    tar.extract('info.json', path=info_dir)
  File "/usr/lib/python2.7/tarfile.py", line 2109, in extract
    tarinfo = self.getmember(member)
  File "/usr/lib/python2.7/tarfile.py", line 1829, in getmember
    raise KeyError("filename %r not found" % name)
KeyError: "filename 'info.json' not found"
13797 DEBUG action [31673.1] executed in 13.328s
13797 DEBUG lock has been released
13798 ERROR Invalid backup archive
```

---

<div class="post-metadata">

### Author: ![ljf](https://forum.yunohost.org/user_avatar/forum.yunohost.org/ljf/32/58_2.png) [@ljf](https://forum.yunohost.org/u/ljf)
#### Post date: [May 8, 2019, 5:17pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/8 "2019-05-08T17:17:50Z")

</div>

What is the output of :

> [@ljf](#):
>
> ls /home/yunohost.backup/archive/synapse/

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 8, 2019, 5:21pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/9 "2019-05-08T17:21:29Z")

</div>

There are lot of my backups but synapse related files are:

```
drwxr-xr-x 3 root root 4096 May 7 18:24 synapse
-rw-r--r-- 1 root root 272 May 6 01:26 synapse-pre-upgrade2.info.json
-rw-r--r-- 1 root root 199269186 May 6 01:26 synapse-pre-upgrade2.tar.gz
-rw-r--r-- 1 root root 206604819 May 8 22:43 synapse.tar.gz

```

I have extracted synapse-pre-upgrade2.tar.gz to synapse folder, did changes in restore script and created the synapse.tar.gz as you told in above comment.

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 8, 2019, 5:42pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/10 "2019-05-08T17:42:25Z")

</div>

Cant I restore from the folder ?

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 8, 2019, 7:48pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/11 "2019-05-08T19:48:51Z")

</div>

> [@ljf](#):
>
> ls /home/yunohost.backup/archive/synapse/

Sorry I did not saw full path

These are the content of the synpse folder.

`apps backup.csv info.json`

---

<div class="post-metadata">

### Author: ![ljf](https://forum.yunohost.org/user_avatar/forum.yunohost.org/ljf/32/58_2.png) [@ljf](https://forum.yunohost.org/u/ljf)
#### Post date: [May 9, 2019, 5:41am UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/12 "2019-05-09T05:41:08Z")

</div>

Pour voir ce qu’il y a dans le tar gz  
`tar -ztvf synapse.tar.gz | grep info.json`

?

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 11, 2019, 12:58pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/13 "2019-05-11T12:58:16Z")

</div>

> [@ljf](#):
>
> Pour voir ce qu’il y a dans le tar gz  
> `tar -ztvf synapse.tar.gz | grep info.json`
> 
> ?

-rw-r–r-- root/root 272 2019-05-06 01:24 ./info.json

---

<div class="post-metadata">

### Author: ![ljf](https://forum.yunohost.org/user_avatar/forum.yunohost.org/ljf/32/58_2.png) [@ljf](https://forum.yunohost.org/u/ljf)
#### Post date: [May 12, 2019, 2:07am UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/14 "2019-05-12T02:07:03Z")

</div>

Try to extract the info.json and put it on this path:

> [@kanhu](#):
>
> /home/yunohost.backup/archives/synapse.info.json

Are you up to date on your yunohost?

---

<div class="post-metadata">

### Author: ![kanhu](https://forum.yunohost.org/user_avatar/forum.yunohost.org/kanhu/32/3518_2.png) [@kanhu](https://forum.yunohost.org/u/kanhu)
#### Post date: [May 18, 2019, 12:45pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/15 "2019-05-18T12:45:37Z")

</div>

> [@ljf](#):
>
> Try to extract the info.json and put it on this path:

I have done it already done.

I have found the the bug. The compression is taking ./ as the path, but it should be without ./ as I see in the original backup.

`-rw-r–r-- root/root 272 2019-05-06 01:24 ./info.json`

Do you know how to tar without the ./ path ?

---

<div class="post-metadata">

### Author: ![Aleks](https://forum.yunohost.org/user_avatar/forum.yunohost.org/aleks/32/1704_2.png) [@Aleks](https://forum.yunohost.org/u/Aleks)
#### Post date: [May 18, 2019, 2:44pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/16 "2019-05-18T14:44:19Z")

</div>

Follow-up of discussion on the forum : for tar, `foo` is not the same as `./foo` …

A quickfix for this is to use `tar -zcvf ../synapse.tar.gz *` instead of `tar -zcvf ../synapse.tar.gz .`

A more longterm fix is [https://github.com/YunoHost/yunohost/pull/726](https://github.com/YunoHost/yunohost/pull/726) though I don’t know how relevant it is considering this is really an edge case of “repackaging a backup archive manually”

---

<div class="post-metadata">

### Author: ![Aleks](https://forum.yunohost.org/user_avatar/forum.yunohost.org/aleks/32/1704_2.png) [@Aleks](https://forum.yunohost.org/u/Aleks)
#### Post date: [January 18, 2023, 8:24pm UTC](https://forum.yunohost.org/t/restore-from-folder-rather-then-tar-gz/7885/17 "2023-01-18T20:24:02Z")

</div>


