linux定期备份,如何备份linux系统

Linux下备份目录的有效命令linux备份目录命令

Linux是目前使用最广泛的操作系统之一,也是众多服务器环境中的优先考虑选择。Linux系统上还有丰富的有效命令,可以帮助使用Linux系统的用户有效地备份其系统上的目录,以保证其文件不丢失。

1、cp命令

cp命令是复制文件或整个目录的有效命令,用于备份Linux下的整个目录。可以在命令行下输入:

`cp-R path/original/directory path/backup/directory`

将会复制整个目录下的子文件及子文件夹。

2、tar命令

tar命令是Linux环境中常用的打包命令,也可以用来备份系统中指定目录下的文件。通过该命令,可以总结归纳出一个tar包,以备份Linux下的所有文件。假如备份/home/calvin中的所有文件,可以在终端下输入:

`tar–cvf home_calvin_2018.tar/home/calvin`

这将备份/home/calvin中的所有文件,并生成以它名称的压缩文件。

3、rsync命令

rsync命令是Linux系统中非常重要的备份命令。它在备份文件的过程中非常快速,通过该命令,可以备份一个目录下的文件及子文件夹,以防止文件的损坏和丢失。只要在终端下输入:

`rsync–avz path/original/directory path/backup/directory`

它将自动备份指定目录下的所有文件及其子文件夹。

以上就是Linux下备份文件的有效备份命令。以上命令的使用方法,都可以在Linux的man手册中查阅到。而用它们备份Linux下的目录,可以更有效率地保存Linux系统上的文件,同时能够保护其安全不受损坏和丢失。

Linux下设置每天自动备份数据库的方法

本文以Centos7.6系统与Oracle11g为例:

一.先找到数据库的环境变量

如果是在root账户下,须先登录到数据库所在账户

su oracle

cat~/.bash_profile

export PATH

export ORACLE_BASE=/home/nnc_db/app

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl环境变量就已经找到了!

二.编辑备份的脚本文件

vi bak.sh

先把环境变量复制粘贴到bak.sh文件,

然后定义一个变量date(它的作用是为每天备份的文件命名便于识别),使用expdp命令导出数据库,代码如下:

date=$(date+%Y%m%d)

expdp数据库账号/数据库密码@数据库实例名 dumpfile=${date}_db_auto_backup.dmp schemas=数据库账号名 compression=all退出保存。

三.使用Linux的crontab命令设置定时任务

crontab-e

crontab-e的作用是使用文本编辑器设置定时任务(crontab具体用法在此不赘述);

输入后在文本编辑器输入

0 0***/home/nnc_db/bak.sh

以上代码意为每天的0点0分执行/home/nnc_db下的bak.sh文件,也就是第二步所创建的文件,需根据自身的备份时间以及文件目录调整;

然后重启crond服务即可

service crond restart

四.测试任务是否成功运行

根据我在网上收集的资料来看,有朋友说crontab-e设置成功后三分钟不会生效!也就是说假如你在上午10:00设置好任务,想要测试能否成功,把下次的定时任务设到10:02分,有可能会出现问题!但是这里我用

*****/home/nnc_db/bak.sh

设置为每一分钟运行一次,发现没有问题。

还有一个新手大坑就是你直接运行脚本文件会在命令行输出详细过程,而设置定时任务运行是没有反应的!所以想要看自己的脚本是否自动运行了需要到/var/spool/mail/下看日志文件,如图

总结

以上所述是小编给大家介绍的Linux下设置每天自动备份数据库的方法,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Linux下文件实时自动同步备份

本篇文章将讲解 Linux主机之间文件实时自动同步备份的方法,通过 rsync和 inotify的组合来实现,以避免由于硬件或软件导致的 Linux系统故障带来的损失。

首先,rsync是 Linux/Unix下的一个远程数据同步工具,用于快速同步多台主机间的文件和目录。rsync比 scp(复制、粘贴,文件存在则覆盖)具有更高的执行性能,因为它在文件不同才进行更新,同时保留文件夹、文件的权限信息。然而,rsync在同步大量文件时,需要扫描所有文件进行比对,耗时较长,且不能实时监测同步数据,可能导致数据不一致的问题。因此,使用 rsync+inotify实现实时同步备份。

inotify是 Linux内核中的文件系统事件监控机制,通过在2.6.13版本后加入,可以监测文件系统中的添加、删除、修改、移动等事件。在部署中,首先检查系统内核是否支持 inotify,通常,若存在 inotify、inotify-tools和 inotify_line等文件,表示系统默认支持。

整体架构涉及两个 Linux服务器节点,node1为源服务器节点(需要同步数据的节点),部署 rsync+inotify;node2为同步节点(接收同步数据的节点),只需部署 rsync。

在同步节点(node2)部署 rsync,步骤包括安装、配置 rsync,创建密码文件 rsync.password(内容为用户:密码),并给文件设置权限。启动 rsync守护进程,可加入系统自启动文件,开放873端口。

源服务器节点(node1)部署 rsync和 inotify。安装 rsync,配置 rsync,创建密码文件 rsync.password,并设置权限。启动 rsync守护进程,加入系统自启动文件,开放873端口。手动测试同步,创建文件夹 test,使用命令进行同步测试,查看同步结果。

部署 inotify,下载 inotify-tools,创建用于 rsync同步的 shell脚本,实现文件或文件夹变动时的实时同步。在需要监控的目录创建脚本,添加、修改、删除文件或文件夹时,inotify可监控变动并通过 rsync进行同步。

实时同步备份验证,通过在 node1中添加、删除、修改文件或文件夹,观察 node2中是否进行实时同步备份。如果在 node2中查看 backup129文件夹,可以看到同步结果。

在部署过程中遇到的问题及其解决方法包括:手动同步测试时的目录不存在或无权限错误,解决方法为创建相应目录;rsync启动失败的 pid文件已存在问题,删除 pid文件即可;inotifyrsync.sh shell脚本运行错误,是因为路径不对,修改为正确的路径即可。

阅读剩余
THE END