备份linux服务器
⑴ 备份linux文件完整备份保障数据安全linux文件完整
备份Linux文件完整备份:保障数据安全
由于Linux的强大的安全性和可靠性,几乎被广泛使用于服务器环境中,这就需要我们经常备份数据,以免造成数据失去,以下是我们可以采取的步骤来保障Linux文件的完整备份,以便在出现紧急意外情况发生时能够尽快恢复。
首先,我们要实现一套完整的Linux备份系统,以确保Linux文件能够被安全备份。我们可以使用系统自带的tar(tape archive)命令来执行备份操作,将网站文件(这里假设文件在/var/www目录下)备份到/var/backup目录,命令如下:
tar -czf /var/backup/www_$(date +%F).tar.gz /var/www
上面的命令使用tar的压缩模式(-z)并将其存储在/var/backup目录下,备份文件的文件名以www_开头以及当前时间(YYYY-MM-DD)结尾。
其次,经常监测备份文件的可用性。可以使用Linux自带的df(disk free)命令,来检查文件系统是否有足够的空间,以及我们是否有足够的备份空间,即:
df -h –total /var/backup
在上面的命令中,-h选项用于显示磁盘使用量,–total用于查看指定目录的总空间使用情况,/var/backup则是我们需要监测的备份文件目录。
此外,一些第三方的备份软件,例如rsync和cfdisk等,它们都不但能够实现完整的备份(跨服务器备份),还可以定期催促管理员定期备份,确保备份工作能够正常进行。
安全备份能够帮助尽可能减少文件系统带来的潜在风险,所以,在Linux环境中,我们要及时备份文件,确保数据安全。
总之,我们要在Linux环境中充分利用tar和第三方备份软件来实现完整的备份,并定期监测备份文件的情况,以保证数据安全。
⑵ 如何在Linux服务器中备份
linux系统下使用脚本定时备份数据库,代码如下:
#!/bin/bash
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqlmp,还可以是mysqlmp,mysqldot,如果注释掉第
#18行,则默认以tag的方式备份
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can’t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同时上传ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令
//m h dom mon dow command
//具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)