日积月累--小技巧之四

续上.....


I. 编程的目的就在于免去大量的人工劳动,让机器代替我们做一些自动化的工作。使用Linux就免不了接触到Cron,用来计划任务。数据库是一个系统的心脏,这么说一点儿也不过,如下使用cron来备份数据库:

/root/database_backup.sh

 

       mysqldump -uroot -proot test > /root/database/test_`date '+%Y%m%d'`.sql

 

       上命令假设数据库用户名密码都为root,数据库名为test,备份的数据库格式为:test_20130930.sql

       使用如下命令进行计划任务:

 

       crontab -e
       0 3 * * * /root/database_backup.sh

       以上指定每天的凌晨三点进行数据库的备份任务。


II. 有时候我们仅需要数据表的一部分数据,却不得不将整个数据表导出,别急Mysql的命令提供了这种功能。

导出goods表中id大于1000的数据

 

   mysqldump -uroot -proot --where="id>1000" > D:/goods.sql  


 

III. 使用mysqldump导出的sql文件默认包含drop table, create table语句;许多时候会带来隐患,如下可指定文件中不用包含drop-table,create-table语句。

 

   mysqldump -uroot -proot --skip-add-drop-table --no-create-info tabasename tablename > tablename.sql


 

IV. 使用cron进行计划任务,无可避免会使用.sh文件。编辑.sh文件时,在窗口中使用vi命令即可,千万不能使用windows下记事本编辑的.sh文件,因为记事本编辑过的文件换行符会给.sh文件的执行带来麻烦。比如使用该文件生成的文件夹名称会存在乱码:photoM?M,诸如这样。很可能就是记事本编辑过的缘故。


V. 备份时一个永远都会需要的工作。数据量很小时,完整备份不会存在问题;但当数据量巨大到难以承受时,增量备份就是个不错的选择。rsync就是这个一个工具。

 

    yum install rsync  // 如果系统没有安装rsync

 

 

    rsync -ab /var/www/test/   /root/test/  // 使用rsync进行增量备份,将/var/www/test目录备份到/root/test目录

 

    建议使用cron进行定期增量备份。


Good Bye, Readers. Enjoy Your Time!








 

posted on 2013-09-30 22:15  you Richer  阅读(162)  评论(0编辑  收藏  举报