一、备份命令工具
【tar】
1. 备份为归档文件(.tar格式)
tar -cvf 归档文件名 源文件名/目录
查看包内文件列表:
tar -tf tar包名
解压:
tar -xvf tar包名
2. 压缩为.gz包
tar -zcvf 归档文件名 源文件名/目录
查看包内文件列表:
tar -tzf tar包名
解压:
tar -zxvf tar包名
3. 压缩为.bz2包(压缩率比gz高,但打包速度慢)
tar -jcvf 归档文件名 源文件名/目录
查看包内文件列表:
tar -tjf tar包名
解压:
tar -jxvf tar包名
*查看包内文件列表时,也可以统一使用:“tar -tvf tar包名”这个命令。
【cpio】
1. 将当前目录下的所有文件归档为(使用选项o)backup.cpio文件,并显示归档过程(-v)
find -print|cpio -ov >./backup.cpio
2. 在上面的基础上,使用bzip2压缩生成归档文件:
find -print|cpio -ov |bzip2 > ./backup.cpio.bz2
3. 使用gzip压缩生成归档文件
find -print|cpio -ov | gzip > ./backup.cpio.gz
4. 查看cpio归档文件中的文件列表:
cpio -tv < backup.cpio
5. 将上述备份文件恢复到当前目录
cpio -iv < backup.cpio
6. 如果恢复时报找不到目录,则需要携带参数d:
cpio -idv < backup.cpio
7. 恢复时想保留时间戳
cpio -idmv < backup.cpio
8. 恢复备份包中的部分文件:
cpio -idv "*.user" < backup.cpio
9. 恢复内存镜像文件
zcat /boot/initrd-3.0.76-0.11-default | cpio -imd
*Linux内存镜像文件一般存放在引导区/boot目录下,以initrd开头。
【bzip2】
这是一个压缩文件的工具
bzip2 [OPTION] file_name
【OPTION】
k:压缩/解压后,保留原始文件
d:执行解压
t:测试压缩文件的完整性
num:1~9,压缩率,1压缩率最低、速度最快,9反之,默认使用6
v:执行任务时显示详细信息
*不使用任何选项表示压缩文件,压缩后的文件会自动被重命名为.bz2后缀
【举例】
#以最大压缩率压缩文件:
bzip2 -9v tomcat_8.0.28.tar
tomcat_8.0.28.tar: 2.289:1, 3.495 bits/byte, 56.31% saved, 36290560 in,15853714 out.
#解压文件并保留源文件:
bzip2 -dkv tomcat_8.0.28.tar.bz2
tomcat_8.0.28.tar.bz2: done
【gzip】
gzip [OPTION] original_file_name
【OPTION】
c:压缩后将结果输出到标准输出并保留原始文件
d:解压缩
l:显示压缩文件的详细信息
r:地柜地处理目录下的所有文件及子目录,或递归地解压缩文件内的目录和子目录
v:显示命令的执行过程
t:测试压缩文件
num:1~9,压缩级别,默认使用6
【整盘备份命令dd】
该命令类似于制作ghost镜像
dd <OPTION>
【OPTION】
if:指定要读取的文件,默认为标准输入
of:指定要输出的文件,默认为标准输出
ibs:指定读取数据时的块大小,默认512B
obs:指定输出数据时的块大小,默认512B
bs:同时指定读取、输出的块大小
count:指定读取的区块数
【举例】
1. 备份磁盘sda:
dd if=/dev/sda of=/mnt/backup/sda_backup.dd
2. 恢复磁盘数据:
dd if=/mnt/backup/sda_backup.dd of=/dev/sda
3. 备份时压缩备份数据
dd if=/dev/sda | gzip >/mnt/backup_sda.dd.gz
4. 将压缩备份的文件恢复
gzip -dc /mnt/backup_sda.dd.gz |dd of=/dev/sda
5. 将硬盘A的数据直接拷贝到硬盘B
dd if=/dev/sda of=/dev/sdb
6. 由于该工具是直接读取磁盘上的块,可以用它制作磁盘镜像:
dd if=/dev/sda of=/mnt/sda.iso
7. 产生一个5GB的文件放到当前目录下:
dd if=/dev/zero of=test.5G bs=1M count=5120
*/dev/zero的功能是无限制的提供数据0
8. 使用随机数销毁磁盘上的数据
dd if=/dev/urandom of=/dev/sdd
9. 备份磁盘的分区表至当前目录:
dd if=/dev/sda of=Parlist.img bs=512 count=1
10. 恢复分区表
dd if= Parlist.img of=/dev/sda
*理论上该命令可以在业务运行时执行,但为了保证数据一致性,还是要停止业务和数据库执行
二、RPM管理
【常用选项】
q:查询模式
a:查询所有已安装的rpm包
i:显示安装/卸载时的详细信息
l:显示软件包的文件列表,也就是这个rpm包被安装在什么位置
f:查询指定文件所属的软件包
v:显示命令执行过程
h:安装时显示进度信息
e:卸载指定的包
U:升级
force:强制操作,忽略冲突
oldpackage:强制升级
【举例】
1. 查询所有已安装的软件包
rpm -qa| more
2. 查询某软件包的详细信息:
rpm -qi vsftpd-2.0.7-4.25.1
3. 安装rpm包:
rpm -ivh vsftpd-2.0.7-4.25.1
有时,需要忽略冲突强制安装:
rpm -ivh --force vsftpd-2.0.7-4.25.1
4. 升级rpm:
rpm -Uvh <rpm_name>
5. 卸载:
rpm -e <rpm_name>