标签:bsp find 监控 ack 习题 too sql passwd pac
习题1:备份数据库要求:设计一个shell脚本来备份数据库,首先在本地服务器上保存一份数据,然后再远程拷贝一份,本地保存一周的数据,远程保存一个月
假定,我们知道mysql root账号的密码,要备份的库为discuz,本地备份目录为/bak/mysql, 远程服务器ip为192.168.139.128,远程提供了一个rsync服务,备份的地址是 192.168.139.128::backup .
写完脚本后,需要加入到cron中,每天凌晨3点执行。
参考答案:
#!/bin/bash # date:2018年2月8日 PATH=$PATH:/usr/local/mysql/bin/ d=`date +"%Y%m%d"` passwd="your_mysql_password" lo_bak_dir="/bak/mysql" re_bak_dir="192.168.139.128::backup" exec 1>/var/log/mysqlbak.log 2>/var/log/mysqlbak.log echo "MySQL backup begin at `date +"%F %T"`." mysqldump -uroot -p$passwd discuz > $lo_bak_dir/$d.sql rsync -az $lo_bak_dir/$d.sql $re_bak_dir/$d.sql echo "MySQL backup end at `date +"%F %T"`."
cron任务计划:0 3 * * * /bin/bash /usr/local/sbin/mysqlbak.sh
本地保存一周的数据,远程保存一个月:
使用find命令实现:find /lo_bak_dir/ -type f -name "*.sql" -exec rm -f {} \;
习题2:自动重启php-fpm服务
要求:服务器上跑的是LNMP环境,近期总是有502现象。502为网站访问的状态码,200正常,502错误是nginx最为普通的错误状态码。由于502只是暂时的,并且只要一重启php-fpm服务则502消失,但不重启的话,则会一直持续很长时间。所以有必要写一个监控脚本,监控访问日志的状态码,一旦发生502,则自动重启一下php-fpm。
我们设定:
1. access_log /data/log/access.log
2. 脚本死循环,每10s检测一次(假设每10s钟的日志条数为300左右)
3. 重启php-fpm的方法是 /etc/init.d/php-fpm restart
参考答案:
标签:bsp find 监控 ack 习题 too sql passwd pac
原文地址:http://blog.51cto.com/11924224/2070307