[Linux] PHP程序员玩转Linux系列-自动备份与SVN
1.PHP程序员玩转Linux系列-怎么安装使用CentOS
我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用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天前文件的行数
最终的脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/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 -r svnrepos/ -d是后台服务 -r是使用目录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2016-03-20 [android] 异步http框架与实现原理
2016-03-20 [android] 采用httpclient提交数据到服务器
2016-03-20 [angularjs] angularjs系列笔记(三)模型
2016-03-20 [angularjs] angularjs系列笔记(二)指令