Kako pošljem datoteko kot priponko e-pošte z uporabo ukazne vrstice Linuxa?

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 backup@email.com

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" recipient@domain.com

Možnosti ukazne vrstice za program mutt lahko prikažete z mutt -h.

Komentarji (3)

Odvisno od različice operacijskega sistema Linux se lahko imenuje mail. Citiram @David zgoraj:

mail -s "Backup" -a mysqldbbackup.sql backup@email.com < message.txt

ali tudi:

cat message.txt | mail -s "Backup" -a mysqldbbackup.sql backup@email.com 
Komentarji (9)

Za pošiljanje e-pošte s priponko lahko uporabite mutt.

mutt -s "Backup" -a mysqldbbackup.sql backup@email.com < message.txt
Komentarji (1)