服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - PHP程序员玩转Linux系列 自动备份与SVN

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

2022-01-07 19:37陶士涵 Linux

这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,学习自动备份与SVN教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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天前文件的行数

最终的脚本

?
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 {} \;

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

开启定时

编辑/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是使用目录

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

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

原文链接:http://www.cnblogs.com/taoshihan/p/6515962.html

延伸 · 阅读

精彩推荐
  • Linux5款最佳的免费Linux杀毒软件

    5款最佳的免费Linux杀毒软件

    Linux的安全性毋庸置疑。很多Linux新手都这样认为,但是Linux同样也有可能遭受病毒的侵袭。这篇文章主要介绍了5款最佳的免费Linux杀毒软件,需要的朋友可以...

    Linux教程网17132021-10-14
  • Linuxlinux lvm深入了解

    linux lvm深入了解

    本文就深入讨论LVM技术,使得用户在无需停机的情况下方便地调整各个分区大小,需要了解的朋友可以参考下 ...

    Linux教程网4832019-12-14
  • Linuxlinux Vim基本操作方法

    linux Vim基本操作方法

    Ubuntu的Vi也不好用,搞了个Vim用来学习了,简单记录下它的基本操作。还有一本相关的电子书可下载。...

    Linux命令大全4602020-12-19
  • LinuxLinux 黑话解释:什么是定时任务

    Linux 黑话解释:什么是定时任务

    在本期的《Linux 黑话解释》系列文章中,你将了解到 Linux 中的定时任务功能。你将通过学习编辑 crontab 文件来创建定时任务。...

    Linux中国7532021-12-16
  • Linux使用awk的next命令的方法

    使用awk的next命令的方法

    next 命令帮助你阻止运行命令执行过程中多余的步骤;一些朋友还不知道如何使用awk的next命令;下面小编为大家带来使用awk的next命令的方法;有需要的朋友...

    脚本之家4982019-06-11
  • Linuxlinux更改目录文件的拥有者和拥有组(使用chown实现)

    linux更改目录文件的拥有者和拥有组(使用chown实现)

    在linux里是可以通过ps 和grep来查询到nginx进程使用什么账户运行的,下面为大家介绍喜爱如何调整目录文件的拥有者和拥有组,感兴趣的朋友可以参考下哈...

    Linux教程网5962019-12-03
  • LinuxLinux加入windows ad域步骤详解(winbindsamba方案)

    Linux加入windows ad域步骤详解(winbindsamba方案)

    本文主要实验centos加入windows AD的方法,大家参考使用...

    Linux教程网5782021-10-06
  • Linux深入解析Linux内核及其相关架构的依赖关系

    深入解析Linux内核及其相关架构的依赖关系

    这篇文章主要介绍了Linux内核及其相关架构的依赖关系,分析了kernel和模块之间的调用等内容,需要的朋友可以参考下...

    开源中文社区2962019-07-01