热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxubuntucrontab定时执行shell脚本数据备份遇到的坑

要求编写备份服务,每隔2个小时,将/home/user/loc

要求编写备份服务,每隔2个小时,将 /home/user/local/data 文件夹的数据拷贝到 /home/user/backup 下面,并且将备份时间和文件名称列表写入到 /home/user/list 文件。

以上的‘user’ 就是系统对应的用户名,本文用的是‘levant’

一、创建相对应的文件夹

先 sudo su 一下
在这里插入图片描述
在、/local/data 下新建几个文件,比如我建的是这几个
在这里插入图片描述
建立backup文件夹用来备份
在这里插入图片描述
建立list记录备份时间和文件名称

在这里插入图片描述

二、开始写shell脚本

在这里插入图片描述

注意:要使用绝对路径

# 复制文件data文件夹下所有文件到backup文件夹
cp -r /home/levant/local/data/* /home/levant/backup
# 记录备份的时间
#这里需要注意两个点:
#1、date和>>左边的符号不是单引号 是反角符号
#2、date 和右边的单引号要有空格
echo `date '+%Y-%m-%d %H:%M:%S'`>>/home/levant/list
#获取文件名称函数
function get_dir(){
for ele in `ls $1`
do
file=$1"/"$ele
# -d if $file is directory then the condition is ture
if [ -d $file ]
then
get_dir $file
else
echo $file>>$output_file
fi
done
}
input_dir="/home/levant/local/data"
output_file="/home/levant/list"
get_dir $input_dir

三、使用crontab进行定时备份操作

1、安装(我用的是ubuntu,centOS的会有不同,请百度)

安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l

2、启动crontab后开始编写

crontab -e

选择 vim 编译器

在这里插入图片描述

* * * * * /home/levant/local/backup.sh >> /home/levant/local/a.log 2>&1 &

前面五个星号是时间的设置,为了方便调试,我这里设置的是每分钟备份一次,其他时间请自己百度一下
注意,一定要使用绝对路径。
另外,>>后边的 /home/levant/local/a.log 是存日志的文件,执行后crontab会自动建立,2>&1 & 是指正确的错误的都打印在日志上。

四、查看结果

你可以使用 service cron restart去重启一下crontab,这样就可以马上运行,不然可能要等两三分钟才能运行。
回到 /levant 目录下,cat 一下list
在这里插入图片描述
这里已经显示是每分钟备份一次了
去backup文件夹下看看有没有文件
在这里插入图片描述
文件已备份成功

五、总结

问题一般出现在shell脚本的编写和编写crontab的作业上,前者请仔细阅读我在脚本里的注释,最重要的就是涉及目录的要使用绝对路径。


版权声明:本文为weixin_45728842原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45728842/article/details/120359677
推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 怎么解决oracle提示框显示不全问题
    这篇文章主要介绍“怎么解决oracle提示框显示不全问题”,在日常操作中,相信很多人在怎么解决oracle提示框显示不全问题问题上存在疑惑,小编查阅 ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
  • 俗话说,好记性不如烂笔头,这些东西也都是我Google来的,做个笔记以后自己安装也方便些。因为官方wiki的BeginnersGuide讲的非常好,大部分步骤按照wiki一步一步来就 ... [详细]
author-avatar
逝水无痕--
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有