网站利用crontab定时备份
备份的重要性就不必说了。不需要什么专业的软件,用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
相关文章:
