sh -c 'printf "%d " 024'
bash -c 'printf "%d " 024'
zsh -c 'printf "%d" 024'
As saídas acima 20 20 24
. Por que o zsh não respeita a notação octal? Existe uma maneira para mudar isso?
O dash tem um arquivo rc não interativo sem login? Eu li a página man, que recomenda .profile
shells de login e $ENV
variável de ambiente para shells interativos.
Existe algo que seja executado para shells não interativos sem login, como arquivos ' ou zsh
variável de ambiente ' ? Existe um arquivo equivalente para o shell Bourne também?zshenv
bash
$BASH_ENV
O melhor que posso fazer até agora (embora não seja o ideal, pois exige que eu edite todos os scripts) é editar o shebang da seguinte maneira:
#!/bin/sh /path/to/script
f
onde /path/to/script
contém
f() { echo "/path/to/script"; }
O que eu quero:
Estou tentando fazer backup de muitos arquivos para o S3 todos os dias. Quero comprimi-los em arquivos diariamente para que cada backup individual não custe tanto. Portanto, quero um sistema de backup no qual eu possa criar arquivos diferenciais do dia anterior para fazer backup no S3.
Meu raciocínio atual é criar um backup inicial e, em seguida, basear backups por dia que sejam diferenciais em relação a esse backup inicial.
Exemplo:
Digamos que eu tenha um diretório chamado dir
contendo um arquivo a.txt
:
dir:
a.txt
Então digamos que eu execute rsync -r dir backup.1
, ou algum outro programa de backup, como, mas não limitado a, rdiff-backup
. Ótimo material, eu tenho um backup localizado em backup.1
.
Agora, eu adiciono um arquivo, b.txt
, para que folder
o conteúdo seja o seguinte:
dir:
a.txt
b.txt
Existe um rsync
comando , ou outro utilitário de backup, que eu possa executar que me dará um diretório separado, backup.2
, que contém apenas o arquivo b.txt
?
Se eu modificar as permissões de a.txt
, esse arquivo também será incluído?
O que eu tentei :
Eu tentei rsync
e rdiff-backup
, com uma variedade de sinalizadores, mas não consigo chegar a lugar nenhum. Estou fazendo isso há horas e não consigo descobrir.
EDITAR:
No meio do caminho!
rsync -n -rpgov backup/ backup-copy/
Observe os -n
meios que isso faz com que seja executado a seco, para que você possa testar isso sem destruir seus próprios diretórios locais com alterações de arquivo.
Isso gera a diferença entre duas pastas locais. No entanto, não consigo descobrir como obter essa saída, por meio rsync
das opções de , para um novo diretório.
Eu tentei usar rsync
o --compare-dest
sinalizador de :
rsync -n -rpgov --compare-dest=backup/ backup-copy/
mas isso parece gerar arquivos diferentes para o comando acima. Como levar isso ao limite?