Nhìn vào dòng cuối cùng của mysql_dumb.sh: /usr/bin/mysqldump -u USER -pPASS DATABASE > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Các >
đang chuyển hướng đầu ra của mysqldump
đến tập tin /var/www/dir/backup/backup_DB_
date +% D_ % m_% Y .sql
Bạn có muốn lưu trữ bản sao lưu của cơ sở dữ liệu cục bộ không?
Nếu không, đưa ra các các > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
và đặt mục crontab trở lại
* * * * * /var/www/dir/sh/mysql_dump.sh 2>&1 | mail -s "mysql_dump" [email protected]
Nếu bạn muốn có một bản sao của tập tin địa phương, tôi sẽ đề nghị sử dụng tee
mà sẽ viết ra để các tập tin và đưa đầu ra trở lại trên stdout, mà sau này sẽ được chọn bởi crontab.
tôi sẽ thay đổi dòng cuối cùng của mysql_dumb.sh
là: /usr/bin/mysqldump -u USER -pPASS DATABASE | tee /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Một lần nữa tôi sẽ thay đổi mục crontab trở lại: /usr/bin/mysqldump -u USER -pPASS DATABASE > /var/www/dir/backup/backup_DB_`date +%d_%m_%Y`.sql
Ưu điểm ở đây là thư có thể đọc các thông tin từ stdout và isn không phụ thuộc vào tập tin được viết và sau đó đọc chính xác. Trong khi đó có thể là một sự khác biệt nhỏ, trong kinh nghiệm của tôi sử dụng tee sẽ đáng tin cậy hơn.
Nguồn
2016-02-10 16:59:48
như một mẹo, bạn có thể ngăn chặn email trống không được gửi đi bằng cách sử dụng 'cái cờ -E' ('email -E -s ... ') – shx2
@ shx2 đó không phải là những gì --help nói, -E, --exec = COMMAND thực hiện COMMAND – meffect
@ shx2 nevermind, tôi cần sudo apt-get cài đặt bsd-mailx. http://manpages.ubuntu.com/manpages/utopic/man1/bsd-mailx.1.html – meffect