做运维的人一般都会用到shell 脚本, 而且是必须会的。 shell 是Linux 系统自带的工具, 可用大大的提高效率。 减少人肉运维。
下面就简单介绍一篇 备份数据的例子。
#!/bin/bash
#auto_backup.sh
db_user="dbuser"
db_password="123456"
db_host="192.168.100.109"
ftp_user="ftpuser"
ftp_password="111111"
ftp_host="192.168.100.103"
dst_dir="/home/ftpuser/backup"
time_date="`date +%Y%m%d%H%M%S`"
file_name="school_score_${time_date}.sql"
function auto_ftp
{
ftp -niv << EOF
open $ftp_host
user $ftp_user $ftp_password
cd $dst_dir
put $1
bye
EOF
}
mysqldump -u"$db_user" -p"$db_password" -h"$db_host" school score > ./$file_name && auto_ftp ./$file_name
上述内容就是备份数据库里指定的表或全部都备份, 看自己的实际需求决定。
可用写好脚本后测试一下效果。 没问题了, 可用加入到系统的定时任务中, 让系统执行自动定时备份。 这样就不会忘记手工去备份数据了。