网站利用crontab定时备份

2009年11月15日 | 标签: ,

备份的重要性就不必说了。不需要什么专业的软件,用Linux自身的命令及服务就可以完成每天的自动备份。

1. 文件系统备份

可以用tar命令到需要的目录及文件做备份:
#tar czvf backup.tar.gz dir1 dir2 …
执行备份前, 有时需要先停用使用要备份文件的服务,比如cvs的目录备份
备份恢复的命令:
#tar zxvf backup.tar.gz

2.  数据库备份

一定不要忘了数据库的备份,大多数数据库系统有命令支持数据库的备份和恢复. 比如mysql, 数据库的备份命令为:
#mysqldump –host=dbhost –user=youruserid –password=yourpassword dbname >db.dump
对应用的恢复命令为:
#mysql –host=dbhost –user=youruserid –password=yourpassword dbname <db.dump

3. 备份数据上传

备份的数据最好能用上传到其它的服务器保存,最简单的就是用ftp了。可以把所有的ftp的上传写成一个脚本来执行。

#ftp -i -in< ftpcommand

ftpcommand为ftp的命令文件,这里给一个例子

open ftp.xxx.xxx 21
user ftpuserid ftppasswd
lcd /home/backup/
bin
put db.dump
put backup.tar.gz

4.  自动定时定时备份

可在利用crontab定义定时任务来完成每天的自动备份并上传到远程服务器上。先利用上面的命令写一个备份上传的脚本(比如/home/backup/backup.sh),然后用crontab -e命令来编辑定时任务,下面是第天23:30自动备份的例子

30 23 * * * /home/backup/backup.sh

5.  备份文件的命名

可以为第天的备份文件名上自动加入备份的时间,下面是一个示例的脚本:

#! /bin/bash
curr=`date +%Y%m%d%H%M%S`
tar czvf backup_$curr.tar.gz dir1 dir2
mysqldump –host=dbhost –user=youruserid –password=yourpassword dbname >db_$curr.dump

相关文章:

  1. 给自己的博客做个备份站
  2. 利用logrotate做备份
  3. mysql备份压缩及恢复
  4. linux下tar做文件系统增量备份
  5. hypervm/kloxo控制面板
目前还没有任何评论.