Linux自动远程备份一个文件夹所有文件至一台服务器上的配置命令步骤??
1备份Linux系统 window系统在运行状态下,我们是无法将文件拷贝出来的,那么在Linux下呢?她的文件结构式一种树型结构。而且在系统运行的时候我们可以进行打包所有系统文件。特别要说的在Linux的root账户具备系统上的任何操作,这也是为什么要创建一个比较低级别的用户权限来防止系统误操作导致系统崩溃的晕因了。下面看备份命令。 #切换到root sudosu #进入系统根目录 cd/ #执行打包命令 tarcvpzflinuxbackuptgz--exclude=/proc--exclude=/lost+found--exclude=/linuxbackuptgz--exclude=/mnt--exclude=/sys/ 命令解释: tar:linux常用的打包程序 cvpzf:式tar的参数,c-创建新文档 v-处理过程中输出相关信息 p-表示保持相同的权限 z-调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩 f-对普通文件操作 linuxbackuptgz:要打包成的文件名 --exclude=/proc:排除/proc目录,不打包这个目录,后面也同理,记得排除自身打包的文件名 /:表示打包linux根目录所有文件,当然了排除的文件不包含在内 整个过程理解起来意思就是,创建一个新的文件名linuxbackuptgz压缩文件,它保存式从排除了指定目录后的文件,并且保存原有的权限设置,这里必须记下你排除的目录,恢复的时候需要手动创建。具体哪些目录要排除在外,这个根觉不同的环境和工作需要进行选择就是了。执行后等待一定时间就可以了,将这个linuxbackuptgz拷贝到其他地方即可,备份完成了。 重点指出:在打包过程中不要进行任何的操作,否则会修改某些文件,在备份完后tar会提示错误。恢复也是一样。 2恢复Linux系统 按照上面的方式备份完系统就可以使用该方法恢复你的备份文件了。如果你的系统崩溃了无法进入系统那么你可以借助引导CD或者其他引导系统进入,如果你可以进入系统,首先拷贝该备份文件到/目录下,然后执行下面命令进行恢复系统: #提升到root sudosu #进入根目录 cd/ #解压恢复系统 tarxvpfzlinuxbackuptgz-C/ 等执行完后,别急着重启系统,要记得创建你在备份时候排除的目录,手动创建,例如上面我们排除,我们需创建 mkdirproc mdkirlost+found mkdirmnt mkdirsys 这个时候你就可以重启系统了。恢复完成了。
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 /data1/backup/expdp_db_baksh;
expdp_db_baksh内容:
#!/bin/sh
~/bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}dmp
logfile=expdp_db_${today}log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile oracle@1721615:/data1/backup/db_bak
exit 0;
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=baklog
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' oracle@1721611:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
0条评论