mysqlタイミングバックアップデータベースのshell

4732 ワード

 ,   shell  

     
     
     
     
?
  1. vi /home/zhangy/database_bak.sh   
  2.   
  3. #!/bin/sh   
  4. # File: /home/zhangy/database_bak.sh   
  5. # Database info bakupmysql  TANK 2009/11/04   
  6. DB_USER="root"                                                              #   
  7. DB_PASS="********"                                                         #   
  8. DB_NAME="myblog"                                                      #   
  9.   
  10. <SPAN id=more-161></SPAN># Others vars   
  11. DATE=`date +%Y_%m_%d`                                            #     
  12. YESTERDAY=`date -d yesterday +%Y_%m_%d`           #   
  13.   
  14. BIN_DIR="/usr/local/mysql/bin"  
  15. BCK_DIR="/home/zhangy/database_bak"                     #        
  16.   
  17. cd $BCK_DIR  
  18.   
  19. # , linux 2G , 。   
  20. if [ -f $YESTERDAY$DB_NAME".sql" ]   
  21. then   
  22.  rm -f $YESTERDAY$DB_NAME".sql"  
  23. fi   
  24.   
  25. #    
  26. ${BIN_DIR}/mysqldump --opt -u${DB_USER} -p${DB_PASS} ${DB_NAME} > ${BCK_DIR}/${DATE}${DB_NAME}.sql  
vi /home/zhangy/database_bak.sh

#!/bin/sh
# File: /home/zhangy/database_bak.sh
# Database info bakupmysql  TANK 2009/11/04
DB_USER="root"                                                              #   
DB_PASS="********"                                                         #  
DB_NAME="myblog"                                                      #       

# Others vars
DATE=`date +%Y_%m_%d`                                            #       
YESTERDAY=`date -d yesterday +%Y_%m_%d`           #       

BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/zhangy/database_bak"                     #        

cd $BCK_DIR

#           ,    linux    2G    ,  。
if [ -f $YESTERDAY$DB_NAME".sql" ]
then
 rm -f $YESTERDAY$DB_NAME".sql"
fi

#   
${BIN_DIR}/mysqldump --opt -u${DB_USER} -p${DB_PASS} ${DB_NAME} > ${BCK_DIR}/${DATE}${DB_NAME}.sql
、 にshellをcrontabに れます.#crondが しているかどうかを します[root@BlackGhost cron]# ps -e|grep crond21519 ?00:00:00 crond#crontabを く[root@BlackGhostcron]#crontab-e# 00 18**/home/zhangy/database_を bak.sh#が されているかどうかを します[root@BlackGhost cron]# crontab -l## DO NOT EDIT THIS FILE MANUALLY!! USE crontab -e INSTEAD.## 01 * * * * /usr/sbin/run-cron/etc/cron.hourly02 00 * * */usr/sbin/run-cron/etc/cron.daily22 00 * * 0/usr/sbin/run-cron/etc/cron.weekly42 00 1 * */usr/sbin/run-cron/etc/cron.monthly56 06 * * */home/zhangy/www/bb.php51 23 * * */sbin/shutdown -h now00 18 * * */home/zhangy/database_bak.shそしてforward fromを するhttp://blog.51yip.com/mysql/161.html