The server was accidentally shut down yesterday, causing damage to the database file in the development environment. So I remembered how to perform automatic backup. I originally planned to use Mysqldump to write a script to schedule the task, however, for the sake of laziness, I found it on the Internet and found automysqlbackup. Reading comments is not bad, and it is also implemented by shell scripts. In the spirit of not repeating the wheel, download and use it.
Address: http://sourceforge.net/projects/automysqlbackup/
The new automysqlbackup-v3.0_rc6.tar.gz is selected.
The installation is very simple and troublesome. It is followed by configuring the mail client and a small bug in the script.
1. decompress the package in any directory
–xzf automysqlbackup-v3.0_rc6..gz
2. Cut Down permissions for convenience
-
3. Installation (if there are no special requirements on the path, you can press Enter)
./.
Default Configuration File Location:/etc/automysqlbackup
Default sh File Location:/usr/local/bin
4. modify the configuration file
After the installation is complete, two configuration files are created by default, one is automysqlbackup. conf and the other is myserver. conf.
In fact, I can see from the installation script that the two files are copied and redundant. I guess the purpose is to prevent the second installation or misoperation and overwrite the configured configuration file. However, it seems that the script logic is not very useful, because it is reinstalled, so the two files will be overwritten. However, if the automysqlbackup. conf configuration has a value, a prompt is displayed.
Still, in order to be lazy, you can directly modify automysqlbackup. conf. After all, this is the default configuration. When sh is executed, no parameters are required.
Note the following configuration items: (the configuration file contains the default value. If you do not need to change the value, you can directly maintain the commented state)
== host name of MySQL server to be used =/= Daily/Weekly Backup e.g. ( =(=( you want monthly backups? ( to day of the month, it will be = you want weekly backups? ( to where =*CONFIG_rotation_daily= weekly backups. VALUE*= monthly backups. VALUE*=?=?- log : send only log - files : send log - stdout : will simply output the log to the screen - quiet : Only send logs =?=
5. Change the script bug first .. However, if the mail and mutt on your server are complete, ignore this step.
/usr/local/bin/automysqlbackup
To line 2, set:
[[ = || = ]]; =( [[ = ]]; =( [[ != ]]; =(
Changed:
[[ != ]]; [[ = || = ]]; =( [[ = ]]; =( [[ = || = ]]; =( [[ = ]]; =(
6. Install the mail client mutt + msmtp
apt-get mutt
When mutt is installed, postfix will be automatically installed as the mail server. The problem is that this stuff is too big. Out of a clean mind, I took the initiative to kill it. After all, the small and exquisite msmtp is waiting for me. (Depending on your needs and preferences)
apt--get autoremove –purge
Install msmtp
apt-get msmtp
After installation, configure the email.
7. Mail Client Configuration
/etc/Muttrc
Add the following at the top:
====username@== no
Then go ~ Directory to create a. msmtprc
cd ~ .msmtprc
Add the following content:
~/.msmtp.log
Because the plaintext password is used here, we recommend that you modify the 600 stream and add another log file.
~/.msmtp.log
If this is all done, you can try sending emails without sending them out.
|mutt -s testmail@.com
If the test is successful, run the backup script.
8. install several commands on my server:
apt-get -get pigz
9. If no environment variable is set for mysql, but a shortcut is added, set an environment variable.
/etc/profile
Add at the last position
export PATH=$PATH:/usr/local/mysql/bin
Save, And then refresh and check
source /etc/ $PATH
10. Start the backup script. By the way, create a backup path first.
mkdir /srv/backup
mkdir /srv/backup/mysql
automysqlbackup
If there is no problem, you will see the backup file path, and several directories are automatically created for you:
Daily fullschema latest monthly status tmp weekly
In addition, when you open daily, there should be files backed up just now.
Check the mail again. All the emails are OK, so configure a scheduled task to complete.
11. Configure scheduled tasks
crontab –l
First check whether there are any tasks. If there are no tasks, go ~ Create a configuration file
cd ~ root-crontab
Add content
30 23 ***/usr/local/bin/automysqlbackup
Indicates that the backup script is automatically run at every day.
Then add it to the scheduled task.
crontab -u root root-crontab
Live together...