PHP程序员玩转Linux系列 自动备份与SVN

发布时间 - 2026-01-11 00:37:53    点击率:

PHP程序员玩转Linux系列文章:

1.PHP程序员玩转Linux系列-怎么安装使用CentOS

2.PHP程序员玩转Linux系列-lnmp环境的搭建

3.PHP程序员玩转Linux系列-搭建FTP代码开发环境

4.PHP程序员玩转Linux系列-备份还原MySQL

我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保存,保存最近7天的备份.

前期准备的命令

date命令,打印当前系统时间,加个参数+%F,打印格式化的全日期, date +%F. 命令替换符`` ,获取到里面命令的返回值.

字符串中使用变量${变量名},例如echo "hi ${name}"

打包命令tar -czf 包名称 *, c是create创建, z是gzip压缩,f是file使用文件形式, 例如: tar -czf 1.tar.gz * 把当前目录的所有文件打包到1.tar.gz中

解压命令tar -xf 包名称 , x是extract提取,例如:tar -xf 1.tar.gz

查找命令find / -mtime +10-exec rm {} \; mtime是modified time修改时间,单位是天, +10是10天以前;-exec是执行命令, -exec 命令 {} \;大括号会被当前查找的结果替换,\是固定的转义用的.例如:find /root -mtime +10 -exec wc -l {} \; 统计10天前文件的行数

最终的脚本

#!/bin/base
#定义备份文件路径
backupFilePath="/root/web";
#定义备份文件名称
currentDate=`date +%F`;
backupFileName="web_backup_${currentDate}.tar.gz";
#定义需要备份的目录
sourceFileDir="/var/www/html/";
#定义备份文件存储的目录
destinationDir="/root/web/"
#打包备份
cd $sourceFileDir;
tar -czf $backupFileName *;
mv $backupFileName $destinationDir;
#删掉10天以前的文件
find $destinationDir -mtime +10 -exec rm {} \;

  

开启定时

编辑/etc/crontab文件

*/1 * * * * root sh /root/shell/backup.sh

分钟 小时 天 月 周几 用户 命令,*/是每的意思

搭建SVN服务端

现在代码可以按时自己打包保存一份,都是全部代码一块备份,现在我要搭建SVN服务器,可以按修改版本保留代码,更加智能化.

安装svn,使用命令,一句话yum install subversion.

安装完成以后需要创建一个代码仓库,使用这个命令svnadmin create svnrepos/ 会在当前目录创建一个svnrepos的目录,这个就是仓库的目录.

配置SVN

仓库建好了,现在去配置svn的用户,进入到svnrepos/conf/目录,这里有三个配置文件authz,passwd,svnserve.conf

1.配置svnserve.conf

authz-db = authz

password-db = passwd

按字面意思理解吧,应该是开启验证使用这两个文件

2.配置authz

一组用户,这组用户可以读写
[groups]
svn_users=shihan1,shihan2
[/]
@svn_users= rw

3.配置passwd

这个是配置密码

[users]
shihan1=aaabbbccc
shihan2=aaabbb

开启SVN服务

使用命令svnserve -d -rsvnrepos/ -d是后台服务 -r是使用目录

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Linux  # 自动备份  # SVN  # 详解Linux运维CentOS系统SVN双备份Shell脚本  # linux svn服务器搭建、客户端操作、备份与恢复  # Python实现SVN的目录周期性备份实例  # 远程镜像与备份SVN服务器的方法小结  # IntelliJ IDEA使用SVN分支的简单介绍  # Webstorm2017上SVN插件安装的方法步骤  # Jenkins与SVN持续集成的示例代码  # 详解Eclipse安装SVN插件的两种方法  # 详解IntelliJ IDEA中TortoiseSVN修改服务器地址的方法  # linux下svn版本控制的常用命令大全  # SVN服务备份操作步骤分享  # 玩转  # 创建一个  # 都是  # 备份文件  # 我要  # 会在  # 这两个  # 句话  # 用户可以  # 最简单  # 使用这个  # 删了  # 配置文件  # 服务端  # 大家多多  # 先做  # 要搞  # 建好  # 这组  # 返回值 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用IIS7快速搭建并优化网站站点?  ,怎么在广州志愿者网站注册?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  个人网站制作流程图片大全,个人网站如何注销?  活动邀请函制作网站有哪些,活动邀请函文案?  网站制作壁纸教程视频,电脑壁纸网站?  如何在阿里云香港服务器快速搭建网站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何生成腾讯云建站专用兑换码?  如何正确选择百度移动适配建站域名?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何使用Livewire构建动态组件?(入门代码)  香港服务器如何优化才能显著提升网站加载速度?  如何在Windows 2008云服务器安全搭建网站?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  常州企业网站制作公司,全国继续教育网怎么登录?  Python并发异常传播_错误处理解析【教程】  Laravel如何使用withoutEvents方法临时禁用模型事件  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何使用Gate和Policy进行授权?(权限控制)  nginx修改上传文件大小限制的方法  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  php json中文编码为null的解决办法  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  JavaScript常见的五种数组去重的方式  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  Laravel如何创建自定义中间件?(Middleware代码示例)  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  如何在局域网内绑定自建网站域名?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  免费视频制作网站,更新又快又好的免费电影网站?  如何快速生成可下载的建站源码工具?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何在腾讯云服务器上快速搭建个人网站?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Thinkphp 中 distinct 的用法解析  网站制作软件有哪些,制图软件有哪些?