Bonjour
mysqldump --host 192.168.1.21 testbase -uroot -pmonmotdepasse | gzip -c | ssh root@xx.yyy.zzz.xx 'cat > /home/bup_testbase/bd/$DATEENVOI.testbase.sql.gz'
Les 'simple quotes' empêchent l'interprétation.
Les "doubles quotes" n'empêchent pas l'interprétation.
Si tu veux interpréter $DATEENVOI, sans doute feras-tu un truc comme ça:
mysqldump --host 192.168.1.21 testbase -uroot -pmonmotdepasse | gzip -c | ssh root@xx.yyy.zzz.xx 'cat > /home/bup_testbase/bd/'"$DATEENVOI"'.testbase.sql.gz'
ou comme ça:
mysqldump --host 192.168.1.21 testbase -uroot -pmonmotdepasse | gzip -c | ssh root@xx.yyy.zzz.xx "cat > /home/bup_testbase/bd/$DATEENVOI.testbase.sql.gz"
`date +%Y-%m-%d_%H.%M.%S`
Pour éviter de rejouer à l'infini le sketch de Raymond Devos sur le thème "ouvrez le ban" et "fermez le ban", tu peux utiliser $( ) au lieu de ` `.
Comme ça, tu pourras emboîter les commandes sans casse-tête.
1 2
| DATEENVOI=...
mysqldump --host 192.168.1.21 testbase -uroot -pmonmotdepasse | gzip -c | ssh root@xx.yyy.zzz.xx "cat > /home/bup_testbase/bd/" + $DATEENVOI + ".testbase.sql.gz" |
Le java n'est pas tous les langages.
La concaténation de chaînes en bash ne se fait pas avec un "plus", et les variables se protègent par des double quotes dans la mesure du possible.
Partager