精华内容
下载资源
问答
  • 处理大量文件的时候该如何进行批量修改呢?在 Linux 环境下,我们可以简单敲一些代码就可以完成这个需求。比如以下三种方法:方法一:mv配合for循环方式进行修改mv命令既可以重命名,又可以移动文件或文件夹。但是...

    在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等。

    90d6f07fa62de454dda9f411f3e482da.png

    处理大量文件的时候该如何进行批量修改呢?在 Linux 环境下,我们可以简单敲一些代码就可以完成这个需求。比如以下三种方法:

    方法一:mv配合for循环方式进行修改

    mv命令既可以重命名,又可以移动文件或文件夹。但是实际应用中,它只能对单个文件重命名。

    例如:

    mv A B #将目录A重命名为B

    mv /a /b/c #将/a目录移动到/b下,并重命名为c

    mv配合for循环方式进行批量修改:

    2bb2f086733ba013dfaef90f22934a2a.png

    方法二:sed命令

    Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

    使用sed命令批量替换文件内容时,格式如下:

    d58ccf8fe1c61dc1e0db6458c41b7ece.png

    例如:

    把/test下所有包含abc的文件中的abc替换为def,执行命令

    09c994d752ba9ba5c51531909d48cb8f.png

    sed的其他用法还有很多,我们就不一一介绍了。

    方法三:rename命令

    当你想要重命名多个文件的时候,rename 工具或许是最简单、最安全和最强大的命令行工具。

    代码如下:

    18f992974268bee9cd802da24fa76492.png

    ● 是Perl兼容正则表达式,它表示的是要重命名的文件和该怎么做。正则表达式的形式是‘s/old-name/new-name/’。

    ●‘-v’选项会显示文件名改变的细节(比如:XXX重命名成YYY)。

    ●‘-n’选项告诉rename命令在不实际改变名称的情况下显示文件将会重命名的情况。这个选项在你想要在不改变文件名的情况下模拟改变文件名的情况下很有用。

    ●‘-f’选项强制覆盖存在的文件。

    例如:

    字母的替换

    rename "s/AA/aa/" #把文件名中的AA替换成aa

    修改文件的后缀

    rename "s/.html/.php/" #把.html 后缀的改成 .php后缀

    批量添加文件后缀

    rename "s/$/.txt/" #把所有的文件名都以txt结尾

    批量删除文件名

    rename "s/.txt//" #把所有以.txt结尾的文件名的.txt删掉

    以上,就是我们教给大家的三种在Linux下文件批量重命名的方法,你学会了吗?

    展开全文
  • 我们在编写程序的时候经常会需要对数据进行备份,那么就需要使用到自动备份工具,那么你对Linux/Unix数据自动备份工具了解有多少呢?下面我们就一起去看看关于Linux/Unix数据自动备份工具的内容。 primabackup.sh ...

    我们在编写程序的时候经常会需要对数据进行备份,那么就需要使用到自动备份工具,那么你对Linux/Unix数据自动备份工具了解有多少呢?

    下面我们就一起去看看关于Linux/Unix数据自动备份工具的内容。

      primabackup.sh 说明文档

      版本:2.0.1

      0. 版本更新

      * 2006-11-23 http://SWsoft.com.cn v2.0.2

      - [fix] 修复resin路径

      * 2005-03-28 http://ValueOf.com v2.0.1

      - [fix] 备份resin和tomcat的配置

      - [fix] 修复配置备份子目录的位置

      1. 概述

      primabackup.sh脚本可用来备份数据。

      2. 安装

      解压:

      tar zxf primabackup.tar.gz

      3. 配置

      要求的设定

      3.1 备份到那个目录

      BACKUP_BASE_DIR="/backup" 备份文件所在的根目录

      3.2 备份哪些数据

      WEB=1 备份web

      EMAIL=1 备份email

      DNS=1 备份dns

      MYSQL=1 备份mysql

      CONTROL=1 备份主控界面目录

      如果不需要备份某个功能,则将其改成0

      3.3 保留多少份旧的备份?

      即除了当前最新的这个备份之外,还保留几个备份,最少为0个,默认为1

      如果设为0,则只保留一个备份,每次备份的时候都会把以前的备份删除

      max_old_backup=1

      4. 备份的过程

      首先根据设置,决定要备份的数据和配置,然后创建

      备份根目录下的以日期时间为名字的目录,在这个目录的data子目录下备份数据的tar包

      在conf子目录下备份配置文件和目录。

      5. 数据位置

      web数据的位置,默认/www/users,程序会自动到prima.conf里面找home_base配置,如果找到则用更改之后的配置

      mail数据的位置,默认/var/vmail,程序会自动到prima.conf里面找mail_space_base配置,如果找到则用更改之后的配置

      dns数据的位置,默认/var/named,程序会自动到prima.conf里面找zonefile_base配置,如果找到则用更改之后的配置

      mysql数据的位置,linux默认/var/lib/mysql,FreeBSD默认/var/db/mysql

      如果prima.conf中打开了网站生成、计数器应用,则会备份相应的数据目录。

      程序根据prima.conf中use_mod_caucho/use_mod_jk来判断是否备份相应的resin和tomcat配置

      named.conf默认/etc/named.conf,程序会自动到prima.conf里面找named_conf配置,如果找到则用更改之后的配置

      如果是主控服务器,请务必打开MYSQL备份。

    2ef1e58b4903638490b184a66eea41e5.png

      6. 关于测试模式

      如果将

      #testmode=1

      改成

      testmode=1

      则,只打印要做的事情,不做实际备份。

      7. 备份文件的命名方法

      对于目录的备份。备份文件是目录名.tar.gz,如

      /www/users -> /backup/20040903-140101/data/users.tar.gz

      对于文件的备份,则直接是文件名,如

      /etc/named.conf -> /backup/20040903-140101/conf/named.conf

      完整列表如下:

      /www/prima -> data/prima.tar.gz

      /www/users -> data/users.tar.gz

      /var/vmail -> data/vmail.tar.gz

      /var/named -> data/named.tar.gz

      /var/lib/mysql -> data/mysql.tar.gz

      /www/prima/htdocs/apps/GenComSite/sitepage -> data/sitepage

      /www/prima/htdocs/apps/GenComSite/upload -> data/upload.tar.gz

      /var/Counter -> Counter.tar.gz

      /usr/prima/etc -> conf/etc.tar.gz

      /usr/prima/postfix/conf -> conf/conf.tar.gz

      /etc/named.conf -> conf/named.conf

      /usr/local/resin/conf/host.conf -> conf/host.conf

      /var/tomcat4/conf/server.xml -> conf/server.xml

      /www/prima/htdocs/apps/phpMyAdmin/config.inc.php -> conf/config.inc.php

    2ef1e58b4903638490b184a66eea41e5.png

      8. 注意事项

      8.1

      注意:此备份为完整备份,备份目录应有足够空间容纳。

      虽然在备份过程,经过压缩,空间会减小,但建议备份目录至少和数据全部大小相同。

      这样才能保证容纳至少一个完整备份,一般情况下,可以容纳两个完整备份。

      8.2

      在进行备份的时候,对cpu和磁盘的负担是比较重的,建议加上nice以降低程序执行优先级,而且最好在凌晨运行。

      如:

      # nice ./primabackup.sh

      9. 通过cronjob自动周期性备份

      通过修改/etc/crontab,可以将备份设为周期性自动的。

      /etc/crontab中每一条都是一个定期任务,#号开头的除外。

      格式如下:

      分钟 小时 月中的某一天 月 星期几 执行者 命令行

      例如:

      0 2 * * * root /bin/cmd

      即在每天的凌晨2点以root身份执行/bin/cmd命令

      假如要配置备份任务每天2点执行,将输出的消息写到日志文件里,则在/etc/crontab中加入:

      0 2 * * * root nice /root/primabackup/primabackup.sh >> /var/log/primabackup.log

      上面假设备份脚本的位置在/root/primabackup/primabackup.sh

      日志放在/var/log/primabackup.log

      加了nice降低执行优先级。

      如果要每周六2点执行,则:

      0 2 * * 6 root nice /root/primabackup/primabackup.sh >> /var/log/primabackup.log

      (6代表星期六,0 或 7 代表星期天)

      修改/etc/crontab不用重起任何服务。

    上文就是关于Linux/Unix数据自动备份工具的内容。

    展开全文
  • 1、数据库导出 用命令行导出数据库 mysqldump -... chmod u+x ./databaeBackup.sh 3、定时任务 crontab -e 0 3 * * * * /home/backup/databaeBackup.sh 每天凌晨3点运行备份命令。 4、实时同步文件到另一台服务器

    1、数据库导出

    用命令行导出数据库

    mysqldump -uDatabaseUserName -pPassword DataBaseName > /home/backup/DataBaseName_$(date +%Y%m%d_%H%M%S).sql

    导出并压缩为.gz

    mysqldump -uDatabaseUserName -pPassword DataBaseName | gzip > /home/backup/DataBaseName_$(date +%Y%m%d_%H%M%S).sql.gz

    2、导出脚本

    创建脚本文件如 databaeBackup.sh。

    vi /home/backup/databaeBackup.sh

    脚本内容如下:

    #!/bin/bash

    mysqldump -uDatabaseUserName -pPassword DataBaseName | gzip > /home/backup/DataBaseName_$(date +%Y%m%d_%H%M%S).sql.gz

    修改脚本权限使其可执行。

    chmod u+x ./databaeBackup.sh

    3、定时任务

    crontab -e

    0 3 * * * * /home/backup/databaeBackup.sh

    每天凌晨3点运行备份命令。

    4、实时同步文件到另一台服务器

    展开全文
  • 语法tar (选项) (参数)选项-A或–catenate:新增文件到以存在的备份文件;-B:设置区块大小;-c或–create:建立新的备份文件;-C :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。-d:记录文件的...

    语法

    tar  (选项)  (参数)

    选项

    -A或–catenate:新增文件到以存在的备份文件;

    -B:设置区块大小;

    -c或–create:建立新的备份文件;

    -C :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

    -d:记录文件的差别;

    -x或–extract或–get:从备份文件中还原文件;

    -t或–list:列出备份文件的内容;

    -z或–gzip或–ungzip:通过gzip指令处理备份文件;

    -Z或–compress或–uncompress:通过compress指令处理备份文件;

    -f或–file=:指定备份文件;

    -v或–verbose:显示指令执行过程;

    -r:添加文件到已经压缩的文件;

    -u:添加改变了和现有的文件到已经存在的压缩文件;

    -j:支持bzip2解压文件;

    -v:显示操作过程;

    -l:文件系统边界设置;

    -k:保留原有文件不覆盖;

    -m:保留文件不被覆盖;

    -w:确认压缩文件的正确性;

    -p或–same-permissions:用原来的文件权限还原文件;

    -P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;

    -N 或 –newer=:只将较指定日期更新的文件保存到备份文件里;

    –exclude=:排除符合范本样式的文件。

    实例

    将文件全部打包成tar包

    [root@sxooky test]# tar cf script.tar catpv.sh diffbase.sh #仅打包,不压缩!

    [root@sxooky test]# tar zcf script2.tar.gz catpv.sh diffbase.sh #打包后,以 gzip 压缩

    [root@sxooky test]# tar jcf script3.tar.bz2 catpv.sh diffbase.sh #打包后,以 bzip2 压缩

    [root@sxooky test]# ll script*

    -rw-r--r-- 1 root root 1398 Mar 31 15:23 script2.tar.gz

    -rw-r--r-- 1 root root 1515 Mar 31 15:23 script3.tar.bz2

    -rw-r--r-- 1 root root 10240 Mar 31 15:23 script.tar

    在选项f之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

    如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;

    如果加j选项,则以.tar.bz2来作为tar包名。

    查看包中文件

    [root@sxooky test]# tar tf script3.tar.bz2

    catpv.sh

    diffbase.sh

    解压文件

    [root@sxooky test]# mkdir test_tar test2_tar

    [root@sxooky test]# tar xf script2.tar.gz -C test_tar/ #解压全部文件

    [root@sxooky test]# tar xf script2.tar.gz -C test2_tar/ catpv.sh #解压指定文件

    [root@sxooky test]# ll test*

    test2_tar:

    total 4

    -rw-r--r-- 1 root root 874 Mar 24 17:35 catpv.sh

    test_tar:

    total 8

    -rw-r--r-- 1 root root 874 Mar 24 17:35 catpv.sh

    -rw-r--r-- 1 root root 1699 Mar 15 13:50 diffbase.sh

    [root@sxooky test]# tar tf script3.tar.bz2

    catpv.sh

    diffbase.sh

    在文件夹当中,比某个日期新的文件才备份

    tar -N "2012/11/13" -zcvf log17.tar.gz test

    备份文件夹内容是排除部分文件

    tar --exclude scf/service -zcvf scf.tar.gz scf/*

    其实最简单的使用 tar 就只要记忆底下的方式即可

    压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

    查 询:tar -jtv -f filename.tar.bz2

    解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

    展开全文
  • 这两天突然看到一个需求点,需要实现增量备份的功能,找了一些资料记录一下如下命令,该命令可以利用命令行进行简单的增量备份功能。Win:代码如下:xcopy C:\Docs D:\Backup\Docs /E /H /R /Y /I /D每个参数具体的值...
  • r 递归处理,32313133353236313431303231363533e58685e5aeb931333365646233指定目录下的文件和子目录一并处理4、-f 强行复制,无论目标是否存在一、使用tar命令进行备份tar命令本来的作用是能够把很多文件放到一个小...
  • 作为例证, 在下面的视频中我首先演示了使用web界面上传图片的工作流,然后演示了怎么用命令行优化, https://www.zhihu.com/video/1129132415230259200 视频用到的工具, - GNU Find (Linux 自带的搜索文件工具) - ...
  • 找到的sql文件保存在了~/Documents下 find . -name '*.sql'|(xargs tar -cpf - | ( cd ~/Documents/; tar -xpf - )) 转载于:https://www.cnblogs.com/gaohuag/archive/2012/11/26/2789373.html
  • 主要介绍了linux批量备份服务器配置文件和目录的方法,需要的朋友可以参考下
  • 上周电脑备份下载了百度云盘10w+的手机图片缓存,5年来的图片,包括以前各种的课程和照片。手动删除又慢,而且容易删错。编写个小脚本,一次批量删除无用的图片。搜索了下当前目录的.png文件有 6665个,包含其他格式...
  • 做地市切割,即需要更换涉及到某地市的所有xml文件 第一步:备份,如果没有备份的话,game over。 cp cmd cmd_bak20181213 ...批量修改HLR6Test里面的配置文件 perl -p -i -e “s/xxx.xxx.xx...
  • Linux SVN 批量备份

    2020-09-18 14:23:43
    此工具可以批量备份;手动一行指令即可完成;也可开启定时任务,规定时间作备份。 系统:ubuntu14.04 文件:backupsvn.sh 代码如下 #!/bin/bash #存放SVN仓库的根目录 ROOT_PATH=/home/disk/svn CUR_DATE=`date...
  • 群晖NAS中,我最喜欢的就是照片自动备份功能了。不过拍照一时爽,筛选累成狗,尤其是连拍十几张,只需保留一张的时候。那有没有什么方法能快速识别并删除相似照片呢?群晖的智能AI相册—Moments,可以 识别相似照片...
  • Linux批量备份日志以及清空日志

    千次阅读 2019-03-28 15:42:38
    这里我找来几个log文件,模拟nginx的日志,并且实现批量备份并且清空备份过的日志 备份日志 我们进入到日志文件夹,用“ll”命令查看一下,如我的截图 这里就假装是nginx按照域名分开统计的访问日志 调用tar命令...
  • Linux批量替换文件内容

    千次阅读 2014-03-14 19:36:56
    替换单个文件 sed -i "s/old/new/g" abc.txt ...先备份再替换 sed -i.bak 's/old/new/g' abc.txt 自动生成abc.txt.bak, 注意.bak前无空格 替换多个文件 sed -i "s/old/new/g" `grep old -rl /path/`
  • linux 批量文件转码

    2013-06-13 23:42:40
     最好先备份文件, 如果文件中有非gb2312的字符,会报错“非法输入序列”,新文件生成了一部分。 for i in `find . -name "*.htm"` ; do echo $i ; iconv -f gb2312 -t utf-8 $i > $i.utf-8 &...
  • linux shell脚本_备份文件批量删除

    千次阅读 2011-03-13 13:27:00
    最近师傅要求写一个shell脚本,这个以前从来没接触过,自己就在周末研究了一天,虽然代码现在看起来简单,但是毕竟第一次接触,花了好多时间,好了,开始正题:这个脚本的功能主要是删除没有用的备份文件,条件是...
  • Linux批量删除日志文件

    千次阅读 2019-05-05 14:23:56
    需求:删除某文件夹下10天前的日志文件?(类型为.log) 具体步骤: 查询是否存在需求中的日志问价 find /home/rab/hhy/test/ -mtime +10 -name "*.log" -exec ls -l {} \; 存在执行删除(删除需谨慎,做好备份) ...
  • 1.ls -m1|grep jimmdb2>j.txt 2.cat j.txt|while read line;do mv "$line" bak;done 这里bak是当前备份文件夹 转载于:https://www.cnblogs.com/weaver1/archive/2012/02/26/2369064.html
  • 刚才遇到一个问题:从本地文件系统上传一个文件夹至HDFS作为Hadoop程序的输入数据,但是程序报错,原因是Ubuntu针对每个.txt文件生成了.txt~备份文件,所以我要把这些备份文件批量删除然后再上传 进入文件夹所在...
  • 最近小组需要批量自动部署一批机器,把Linux和自己的应用一次批量安装完,每次克隆硬件有点麻烦,因此查了一下相关的资料,看那种方案最好,整理如下。不过没有找到类似windows那样的ghost盘安装的形式,不知网友...
  • 生产中有一台数据备份服务器是Linux系统,用来备份windows文件服务器的数据。同步数据后发现,每个子目录里面都有一个“Thumbs.db”文件。起初以为是病毒,查证后才知道原来是“Thumbs.db缩略图缓存文件”。 因为...
  • Linux 系统文件权限的备份与恢复

    千次阅读 2015-05-06 12:23:22
    说一下Linux 上如何批量备份和恢复权限以便在`chmod` 灾难后及时修复系统。纯粹是看CSDN 能用MD 写博客了,试试效果。

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 267
精华内容 106
关键字:

linux批量备份文件

linux 订阅