När jag spawn:ar sftp (i ett script som startas av crontab) och kör följande put-kommando...
send -- "put /var/backups/full_bu_total_*\r"
...förs alla mina full_bu_total_*-filer över från A till B. Fint.
Men, jag skulle vilja att BARA den fil som skapades aktuellt datum förs över, varför jag försökert mig på följande något justerade put-kommando...
send -- "put /var/backups/full_bu_total_*`date +'%Y-%m-%d'`.gz\r"
...vilket dessvärre inte fungerar, utan ger följande felmeddelande...
File "/var/backups/full_bu_total_*`date" not found.
Harangen (`date +'%Y-%m-%d'`) fungerar dock i andra sammanhang (scriptat tar-kommando), men sftp (spawn/send) verkar inte gilla den.
Är det någon där ute som har koll på vilken "harang" jag måste använda, för att filtrera ut dagens backup-fil?
Då kan du också enkelt sätta in en "$echo $files" för att se om rätt fil tas.
Men för denna typen så skulle jag nog använda rsync's speglings funktion, då slipper jag ange specifika filnman utan den kopierar bara över ändrade filer.
Jag kör detta kommando på min server för att hålla en kopia på min NAS uppdaterad (använder SSH med nycklar som transport):
För att slippa fippla med expect sätt up så att ssh/scp/sftp använder nycklar för autenticering så slipper du ha lösenord i klartext i en fil, och kommandot blir mycket enklare :)