频道栏目
首页 > 系统 > Linux > 正文

linux数据备份步骤指导

2018-05-23 14:12:52         来源:weixin_40827818的博客  
收藏   我要投稿

linux数据备份步骤指导

步骤

1,写好需要备份的脚本,以及crondtab文件,放入对应位置

参考文件如下

\

2,可单独执行进行验证脚本的正确性;确认crontab安装成功执行

crontab -l

出现错误可依照下面办法解决(后面有)

单独执行需要对文件赋权限

chmod+xbackup.sh

然后可单独执行验证脚本的正确性

\

\

3,添加文件到etc/

把文件copy到开机启动项中cp /usr/local/wykj/bin/crontab /etc/

chmod +x crontab

\

4,设置开机启动

设置crond服务为自启动

[root@MiWiFi-R3-srv bin]# chkconfig crond on

systemctl list-unit-files

\

5,启动crontab

service crond start

几个常用的服务相关的命令

#systemctl enable crond.service//让服务开机启动

# systemctl disable crond//让服务开机不启动

# systemctl status crod//查看状态

# systemctl stop crond//停止服务

# systemctl start crond//启动服务

# systemctl restart crond//重启服务

# systemctl is-enabled crond//检查服务是否开机启动

\

验证是否备份成功可到对应位置查看备份文件

\

6,异地备份需要配置ssh免密登录(已有文档此处就不写了)

7,免登录配置好后,可在脚本中添加scp的命令,添加完可先单独执行测试下,验证成功可重启crond服务即可,(为确保可自动执行,可到对应设备位置查看异地备份的文件)

问题

1,问题解决办法:下面报错是缺少bzip2包

\

yum install -y bzip2

安装后就不报错了。

\

2,遇见问题:提示no crontab for root

使用命令查询crontab 任务时,一直提示:no crontab for root 。查看了一些资料,说是crontab在初始时,设置了一次编辑方式,所以试了一下crontab -e的方式编辑,即在命令行,输入 crontab -e ,进行编辑页面,输入定量执行的脚本

*/1 * * * * root /data/bakdb.sh > /data/bak.log 2>&1

crontab -e的使用方式与vi编辑器相同, 配置成功后 使用命令crontab -u root -l 可以查看当前定时任务,具体流程:

cd etc

在etc目录下,执行 crontab -e

在插入模式下输入*/10 * * * * ntpdate time.windows.com >/dev/null 2>&1

保存

使用命令 crontab -u root -l 可以查看当前定时任务,成功!

\

3,查看日志遇见错误BAD FILE MODE (/etc/crontab)

该错误是权限引起的

\

解决办法:更改权限

chmod 644 /etc/crondtab

4,查看日志遇见错误FAILED (loading cron table)

\

解决办法:

Linux下查看是否开启了SeLinux,可以用下面两种方法

1: 可以使用下面命令sestatus,SELinux status 为enabled表示开启了SeLinux功能

[root@DB-Server ~]# setenforce 0

[root@DB-Server ~]# getenforce

Permissive

[root@DB-Server ~]# setenforce 1

[root@DB-Server ~]# getenforce

Enforcing

[root@DB-Server ~]#

\

Linux 定时任务Crondtab简单了解

crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,

与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,

并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,

如果有要执行的任务,则自动执行该任务。

\

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

查看crontab执行的日志

cat /var/log/cron

\

查看mail

cat /var/spool/mail/root

\

find . –mtime中的参数n (了解)

find . –mtime n中的n指的是24*n, +n、-n、n分别表示:

+n: 大于n

-n: 小于n

n:等于n

但是man find里这样的解释还是比较令人费解的,不如直接看find . -mtime 中的用法

find . –mtime n: File waslast modified n*24 hours ago.

最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时

find . –mtime +n:

最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早

find . –mtime –n:

最后一次修改发生在n天以内,距离当前时间为n*24小时以内

Linux 命令find exec rm(了解)

-exec 必须由一个 ; 结束,而因为通常 shell 都会对 ; 进行处理,所以用 \; 防止这种情况。

{} 可能需要写做 '{}',也是为了避免被 shell 过滤

find ./ -type f -exec grep iceskysl {} /dev/null \;

./表示从当前目录找

-type f,表示只找file,文件类型的,目录和其他字节啥的不要

-exec 把find到的文件名作为参数传递给后面的命令行,代替{}的部分

-exec后便跟的命令行,必须用“ \;”结束

常用的find命令:

#find ./ -type f -name "*.cpp"|xargs grep "test" -n

#find . -name "*cpp" -exec grep "test" {} \; -print

# find / -name *.log //指定目录 要搜索的文件名

# find / -name core print //检查系统是否有巨大的CORE文件,可直接删除

# find . –ctime | print //列出当前目录中在当前24小时内更改的所有文件

# find /tmp -user "xxxx" -exec rm {} \; //找到tmp目录下xxx用户生成的文件并删除

eg: find /tmp -user "kunlun" -exec rm {} \;

查看执行记录

有这个提示时就可根据该路径查看信息

\

\

上一篇:Ubuntu常用命令总结(超详细)
下一篇:linux高级网络配置教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站