mysql在linux系统下的备份脚本

转自:http://os.chinaunix.net/a2006/0823/970/000000970876.shtml
空了修改修改就能备份整个站点了

脚本如下:

  1.     #!/bin/sh
  2.     # mysql_backup.sh: backup mysql databases and keep newest 5 days backup.
  3.     #
  4.     # Last updated: 20 March 2006
  5.     # ———————————————————————-
  6.     # This is a free shell script under GNU GPL version 2.0 or above
  7.     # Copyright (C) 2006 Sam Tang
  8.     # Feedback/comment/suggestions : http://www.real-blog.com/
  9.     # ———————————————————————-
  10.     # your mysql login information
  11.     # db_user is mysql username
  12.     # db_passwd is mysql password
  13.     # db_host is mysql host
  14.     # —————————–
  15.     db_user=“root”
  16.     db_passwd=“”
  17.     db_host=“localhost”
  18.     # the directory for story your backup file.
  19.     backup_dir=“”
  20.     # date format for backup file (dd-mm-yyyy)
  21.     time=“$(date +”%d-%m-%Y“)”
  22.     # mysql, mysqldump and some other bin’s path
  23.     MYSQL=“$(which mysql)”
  24.     MYSQLDUMP=“$(which mysqldump)”
  25.     MKDIR=“$(which mkdir)”
  26.     RM=“$(which rm)”
  27.     MV=“$(which mv)”
  28.     GZIP=“$(which gzip)”
  29.     # check the directory for store backup is writeable
  30.     test ! w $backup_dir >> echo “Error: $backup_dir is un-writeable.” >> exit 0
  31.     # the directory for story the newest backup
  32.     test ! “$backup_dir/backup.0/” >> $MKDIR “$backup_dir/backup.0/”
  33.     # get all databases
  34.     all_db=“$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse ‘show databases’)”
  35.     for db in $all_db
  36.     do
  37.      $MYSQLDUMP u $db_user h $db_host p$db_passwd $db | $GZIP 9 > “$backup_dir/backup.0/$time.$db.gz”
  38.     done
  39.     # delete the oldest backup
  40.     test “$backup_dir/backup.5/” >> $RM rf “$backup_dir/backup.5”
  41.     # rotate backup directory
  42.     for int in 4 3 2 1 0
  43.     do
  44.      if(test “$backup_dir”/backup.“$int”)
  45.      then
  46.      next_int=`expr $int + 1`
  47.      $MV “$backup_dir”/backup.“$int” “$backup_dir”/backup.“$next_int”
  48.      fi
  49.     done

linux/mac下的自定义命令alias,并保存别名使其永久生效(重启不会失效)

现在做开发每次提交代码的命令都是一长串参数,不想去记,于是可以使用alias命令来解决这个问题:
alias aCommandAlias='aCommand 一堆参数什么的'
比如
alias gpush='git push origin HEAD:refs/for/master'

这样在终端中,只需要输入gpush就ok了。

但是只是这样的话,会在重启之后失效,解决办法是编辑~/.bashrc文件,每行加入一个alias命令。比如:
alias cdhome='cd ~'
alias cdroot='cd /'
alias gpull='git pull'
alias gci='git commit -a'
alias gpush='git push origin HEAD:refs/for/master'
alias gst='git status'

保存文件后,运行:
source ~/.bashrc(不然不生效)
就可以了。
如果还不行的话,说明没有~/.bash_profile文件,或者文件中没有执行.bashrc文件。
(.bash_profile文件是用户登陆终端的时候会自动执行的文件,一般此文件中会调用.bashrc)
如果是这样,需要打开(如果没有的话先创建)文件:
~/.bash_profile
在里面加入一行:
source ~/.bashrc
就ok了。
我在mac系统下测试ok的。