Ustvaril sem skripto, ki se vsak večer zažene na mojem strežniku Linux, ki uporablja mysqldump
za varnostno kopiranje vsake od mojih podatkovnih baz MySQL v datoteke .sql in jih zapakira skupaj kot stisnjeno datoteko .tar. Naslednji korak, ki ga želim opraviti, je, da to datoteko tar pošljem po elektronski pošti na oddaljeni e-poštni strežnik, kjer jo bom shranil. Surovo skripto sem lahko poslal v telo e-pošte tako, da sem besedilno datoteko z varnostno kopijo poslal v mailx
na naslednji način:
$ cat mysqldbbackup.sql | mailx [email protected]
cat
odmeva besedilo rezervne datoteke, ki se pošlje v program mailx
z e-poštnim naslovom prejemnika kot argumentom.
Čeprav s tem dosežem, kar potrebujem, mislim, da bi bilo lahko še korak bolje, Ali obstaja kakršen koli način, s skriptami lupine ali kako drugače, da stisnjeno datoteko .tar pošljemo v odhodno e-poštno sporočilo kot priponko? Tako bi se izognili zelo dolgim e-poštnim sporočilom, ki vsebujejo podatke iz glave in imajo pogosto težave z zavijanjem besed itd.
Če pogledamo man mailx
, program mailx nima možnosti za pripenjanje datoteke. Uporabite lahko drug program, kot je mutt.
echo "This is the message body" | mutt -a file.to.attach -s "subject of message" [email protected]
Možnosti ukazne vrstice za program mutt lahko prikažete z mutt -h
.
Odvisno od različice operacijskega sistema Linux se lahko imenuje mail. Citiram @David zgoraj:
mail -s "Backup" -a mysqldbbackup.sql [email protected] < message.txt
ali tudi:
cat message.txt | mail -s "Backup" -a mysqldbbackup.sql [email protected]
Za pošiljanje e-pošte s priponko lahko uporabite mutt.
mutt -s "Backup" -a mysqldbbackup.sql [email protected] < message.txt