
正文
linux备份加日期命令 linux备份数据命令
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux下备份文件
一、使用tar命令进行备份:
tar命令本来的作用是能够把很多文件放到一个小文件中进行归档,但是同时又能够对文件进行压缩。所以,一般情况下都采用tar进行文件整理和压缩。
/* 把/root整个目录进行压缩备份 */
# tar cvzf /tmp/root_backup_1215.tar.gz /root
那么就能够把 /tmp/root_backup_1215.tar.gz进行存储,比如保存到磁带机上等。
说明: 压缩的tar档案通常的扩展名是 tar.gz、tgz、或者tar.bz2。前两个扩展名一般是使用gzip命令进行压缩的tar档案,后一个扩展名是
基于bzip2的压缩,因为压缩算法的原因,后一个压缩更强。
同时,也很容易把已经打包压缩的文件进行恢复:
/* 从备份文件中进行还原 */
# tar tkvzf root_backup_1215.tar.gz
二、使用cpio备份存档:
cpio (copy in/out) 命令可以建立存档,跟tar不同之处在于,能够处理标准的输入输出。顾名思义,就是复制,输入,输出的意思。
如果要备份root的文件,使用下列命令:
# find /root | cpio -o /tmp/root_backup_1215.cpio
cpio能够使用通配符将一组文件设置成标准输入。比如,下面见所有的.tif文件建立档案:
# find *.tif | cpio -o /tmp/back.cpio
记住,find命令很灵活,下列命令把系统中所有的.tif文件进行归档:
# find / -name '*.tif' | cpio -o /tmp/back_tif.cpio
同时,也很容易从cpio档案中恢复文件。下列命令恢复back_tif.cpio中的文件:
# cpio -i back_tif.cpio
和tar命令一样,cpio命令恢复从目录保存的文件时,取决于是相对路经还是绝对路经。
cpio命令还有一个优点是可以直接将文件发送给外部源。
例如,下列命令恢复/root主目录中的文件,并把文件发送到SCSI磁带机:
# find /root | cpio -o - /dev/st0
# cpio -i /dev/st0
相关问答
Q1: Linux中每次使用tar命令备份后,如何通过计划任务和shell脚本实现备份后的文件名以日期开头?
首先tar命令能够指定生成的文件的名字,
可以 先用命令取得系统的时间,然后把日期复制给一个变量,
这样tar命令,就可以用那个变量当作生成文件的名字了。
计划任务使用crontab
Q2: linux 怎么用命令查看日期
date命令用于显示及设置系统的时间或日期,格式为:"date [选项] [+指定的格式]"。
强大的date命令只需键入以"+"号开头的参数即可按照指定格式来输出系统的时间或日期,这样日常工作时咱们便可以将打包数据的备份命令与指定格式输出的时间信息结合到一起,使得咱们可以更加便捷的区分每个文件的备份时间啦,date命令常见的格式如下:
参数 作用
%t 跳格[TAB键]
%H 小时(00-23)
%I 小时(01-12)
%M 分钟(00-59)
%S 秒(00-60)
%X 相当于%H:%M:%S
%Z 显示时区
%p 显示本地AM或PM
%A 星期几 (Sunday-Saturday)
%a 星期几 (Sun-Sat)
%B 完整月份 (January-December)
%b 缩写月份 (Jan-Dec)
%d 日(01-31)
%j 一年中的第几天(001-366)
%m 月份(01-12)
%Y 完整的年份
按照默认的格式查看当前的系统时间:
[root@linuxprobe ~]# date
Mon Aug 24 16:11:23 CST 2016
按照"年-月-日 小时:分钟:秒"的格式查看当前的系统时间:
[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
2016-08-24 16:29:12
设置当前的系统时间为2016年9月1日8点30分:
[root@linuxprobe ~]# date -s "20160901 8:30:00"
Tue Sep 1 08:30:00 CST 2016
再次按照默认的格式查看当前的系统时间:
[root@linuxprobe ~]# date
Tue Sep 1 08:30:01 CST 2016
查看今天是一年中的第几天:
[root@linuxprobe ~]# date "+%j"
245
reboot命令用于重启系统,格式为:"reboot"。
重启计算机这种操作会涉及到对硬件资源的管理权限,因此默认只能使用root用户来重启您的电脑:
[root@linuxprobe ~]# reboot
poweroff命令用于关闭系统,格式为:"poweroff"。
关机命令也同理,默认只有root用户才可以关闭您的电脑:
[root@linuxprobe ~]# poweroff
如果你对Linux感兴趣的话,可以看看,非常适合初学者学习。
Q3: 如何在Linux服务器中备份
linux系统下使用脚本定时备份数据库linux备份加日期命令,代码如下:
#!/bin/bash
#Setting
#设置数据库名linux备份加日期命令,数据库登录名linux备份加日期命令,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第
#18行,则默认以taglinux备份加日期命令的方式备份
#默认情况下,用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=mysqldump
#BackupMethod=mysqlhotcopy
#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 21
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
mysqldump*)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName $DumpFile
fi
tar czvf $NewFile $DumpFile $LogFile 21
echo "[$NewFile]Backup Success!" $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhotcopy -u $DBUser $DBName $DumpFile $LogFile 21
else
mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile $LogFile 21
fi
tar czvf $NewFile $DumpFile $LogFile 21
echo "[$NewFile]Backup Success!" $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop /dev/null 21
tar czvf $NewFile $DBPath $LogFile 21
/etc/init.d/mysqld start /dev/null 21
echo "[$NewFile]Backup Success!" $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f l 如果有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 (表示零晨二点十分执行备份脚本)
Q4: linux 系统如何备份,系统日志如何备份?
备份系统
我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!
首先成为root用户:
$ sudo su
然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):
# cd /
下面是我用来备份系统的完整命令:
# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /
让我们来简单看一下这个命令:
“tar”当然就是我们备份系统所使用的程序了。
“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。
“backup.gz”是我们将要得到的档案文件的文件名。
“/”是我们要备份的目录,在这里是整个文件系统。
在
档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“
/lost+found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“
/mnt”排除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果
有挂载东西,必须把“/media”也排除在外。
有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。
执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。
备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。
在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。
你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:
# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /
2、系统日志备份
只需要将日志文件移动到备份目录下
然后将日志压缩打包,并删除日志文件
最后重建日志文件
#!/bin/b.sh
#
nginx_app=/usr/local/nginx/sbin/nginx
logs_dir=/usr/local/nginx/logs
bak_dir=/tmp/logbak/
date=`date +%Y%m%d`
#
#先将日志文件移动到备份目录
cd $logs_dir
echo “moving logs”
mv *.log $bak_dir
sleep 3
#
#重建log文件
echo “rebuild logs”
echo “$nginx_app -s reopen”
$nginx_app -s reopen
#
#打包log文件,并以日期命名
echo “tar log”
cd $bak_dir
tar czf $date.tgz *.log
#
#删除备份目录的临时文件
echo “rm logs”
rm -f *.log
echo “done”
然后添加个计划任务,比如每天凌晨4点半执行,脚本位置在/root/logbak.sh
crontab -e
30 4 * * * sh /root/logbak.sh
linux备份加日期命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux备份数据命令、linux备份加日期命令的信息别忘了在本站进行查找喔。







