CentOS 8 下使用计划任务对SVN仓库进行定时备份

参考命令

  • 压缩 (适用于处理单个文件)
    • gzip a.sh
      • gip a s.sh 表示将a.sh压缩为a.sh.gz
      • 压缩后a.sh文件不存在
  • 打包并压缩(适用于压缩多个文件)
    • tar -zcf a.tar.gz a.sh b.sh c.sh
      • -z 使用gzip压缩
      • -c 创建打包文件
      • -f 创建的文件名
      • 最后的文件为要处理的文件
  • 备份SVN仓库
    • svnadmin dump -q /www/svn/333 -F dump_333_202101102054.gz
      • dump表示使用的备份方式为dump
      • -q表示不打印执行过程
      • /www/svn/333 表示仓库路径
      • -F表示指定备份文件
  • 备份SVN仓库并压缩
    • svnadmin dump -q /www/svn/333 | gzip > dump_333_202101102054.gz
      • | 表示将输出流加入管道
      • | gzip > dump_333_202101102054.gz 表示将输出流写入到压缩文件
  • 计划任务 at (按照规定的时间执行一次就结束)
    • 依赖服务为 atd
      • 启动服务 systemctl start atd
      • 将服务设置为开机自启 systemctl enable atd
    • 权限文件
      • /etc/at.allow 与 /etc/at.deny
      • 工作情况为 先找寻/etc/at.allow这个文件,写在这个文件中的使用者才能使用at ,没有在这个文件中的使用者则不能使用at
      • 如果/etc/at.allow 不存在,就寻找/etc/at.deny这个文件,若写在这个at.deny 的使用者则不能使用at ,而没有在这个at.deny 文件中的使用者,就可以使用at
  • 计划任务 cron (按照规定时间循环执行)
    • 依赖服务为 crond
    • 权限文件
      • /etc/cron.allow 和 /etc/cron.deny
      • 工作情况同上
    • 针对用户的计划任务
      • 如果用户 root,则使用 crontab -e 进入vi编辑模式,写入命令 会在 /var/spool/cron/root 文件中写入命令
      • crontab -l 列出当前用户的所有任务计划
      • crontab -r 清除当前用户的所有任务计划
      • crontab -e 进入编辑模式 用户手动清除单个任务计划
    • 针对全系统的计划任务
      • 直接编辑 /etc/crontab 这个文本文件并保存
      • 每次修改完 /etc/crontab 文件 最好进行一次 crond 服务的重启 systemctl restart crond

实际部署

  • 10 * * * * bash /var/www/html/Crond/1613188036
    • 每个小时的第10分钟 使用bash命令执行位于 /var/www/html/Crond/1613188036 的脚本内容
    • /var/www/html/Crond/1613188036内容如下 #!/bin/bash mkdir /var/backup /usr/bin/svnadmin dump -q /www/svn/333 | /usr/bin/gzip > /var/backup/1613188036.gz
    • 执行脚本中用到的命令要用whereis命令查一下环境变量 然后使用完整的路径来替代 如svnadmin替换为/usr/bin/svnadmin,gzip替换为 /usr/bin/gzip

原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com

(0)
witersen的头像witersen
上一篇 2021年2月7日 下午4:13
下一篇 2021年2月22日 上午10:01

相关推荐

  • 关于数据流重定向

    首先明白几个概念: 标准输入:STDIN,即 standard input,即输入到程序的信息 标准输出:STDOUT,即 standard output,即程序正常执行后返回的正…

    2022年7月13日
    9220

发表回复

登录后才能评论