Crie um arquivo (por exemplo, settings
) com suas configurações como variáveis:
username='foo'
pass='bar'
website='baz'
database='yak'
Em seguida, digite o arquivo do seu script e você poderá acessar as variáveis:
. settings
echo $username # <- this will print "foo"
Em relação à sua segunda "pergunta", se você tiver vários hosts, poderá ter vários arquivos de configuração e obter o que foi passado como argumento para o seu script. Por exemplo, crie um arquivo de configuração chamado site1
.
Chame seu script com ./backup.sh site1
. $1 # <- this will load the file "site1"
echo $username # <- this will print "foo"
Com seu script de backup, isso significaria:
#!/bin/bash
. $1
ssh [email protected] "tar cjvf webfilesbackup-date-'date +%Y%m%d'.tar.bz2 public_html/"
ssh [email protected] "mysqldump -u $user -p$pass $database > databasebackup-'date +%Y%m%d'-db.sql"
# ... and so on