Ao baixar (usando scp?) um arquivo via link simbólico é possível salvá-lo sob o nome do arquivo original?

0

Em um servidor, a estrutura de diretórios já está organizada dessa maneira. (Para argumentar, eu não posso mudar isso. Eu só posso descobrir uma maneira de torná-lo mais útil para mim.)

/work/product/versions/app-0.98
/work/product/versions/app-1.0
/work/product/versions/app-1.1
/work/product/versions/app-1.2

Dentro de cada diretório existem vários arquivos, por exemplo:

/work/product/versions/app-0.98/app-0.98.1234
/work/product/versions/app-0.98/app-0.98.1235
/work/product/versions/app-0.98/app-0.98.1236
/work/product/versions/app-0.98/app-0.98.1237

Quando eu obtenho uma versão que eu gosto, eu quero linkar para release , como:

ln -s /work/product/versions/app-0.98/app-0.98.1237 /work/product/versions/app-0.98/release

Dessa forma, sempre posso fazer o download da versão validada solicitando o arquivo release . Eu faço o download deles assim:

scp me@host01:/work/product/versions/app-0.98/release .

No meu sistema de arquivos local, me resta um arquivo chamado "release".

me@host01:/home/me# ls -al
total 528948
drwxr-xr-x 2 me me      4096 Feb  6 12:24 .
drwxr-xr-x 8 me me      4096 Feb  2 13:03 ..
-rwxr-xr-x 1 me me 541627065 Feb  6 12:25 release

Gostaria que o arquivo tivesse o mesmo nome do arquivo original, app-0.98.1237 . Há algo que eu possa alterar no meu servidor ou na minha chamada scp para salvar o arquivo usando o nome do arquivo original?

Eu estou em uma variedade de sistemas operacionais, principalmente distribuições Linux - Debian e CentOS.

    
por harperville 06.02.2018 / 18:55

1 resposta

0

O mais perto que eu posso sair do topo da minha mente é um processo de duas etapas que usa rsync ao invés de ficar nu scp (o rsync pode usar scp como seu back-end):

Primeiro, copie o link em si:

rsync -a username@host:/path/to/release .

Em seguida, copie o que quer que seja o alvo:

rsync -za username@host:"$(basename "$(readlink release)")" .

Você terminará com isso:

$ ls -l
total 0
drwxrwxr-x  3 username  groupname  96 Feb  6 11:10 1.02
lrwxrwxrwx  1 username  groupname   4 Feb  6 11:09 release -> 1.02
    
por 06.02.2018 / 19:22