linux下文件迁移备份-shell脚本
这个简单的shell脚本主要使用linux下mv指令
编写一个简单的shell脚本
#!/bin/bash
#@author zhouguang
# 定义备份时间
time=`date "+%Y-%m%d-%H%M"`
# 传参方式获取备份到的文件夹名称
back=$2
# 获取当前文件夹的路径
filesSrc=$(cd "$(dirname "$0")";pwd)
# 传参方式获取备份文件名
fileName=$1
# 执行移动操作
`mv $filesSrc'/'$fileName $filesSrc'/'$back'/'$time"-"$fileName`
如何使用
- vim back.sh,创建一个back.sh文本文件,赋值黏贴上面代码片段到该文本中,之后输入
:wq
保存 - 给新增的这个文件增加可读可执行权限,输入命令
chmod +755 back.sh
。这个步骤主要为了能够使用 ./back.sh 方式运行脚本 - 从上面脚本代码片段可以看出需要传入两个参数,第一个是需要备份的文件名称,第二个是备份到哪里去。例如我需要备份当前文件夹中的一个 xxx.jar 文件到当前文件目录下的 bak 文件夹中,则使用命令
./back.sh xxx.jar bak
这时会自动完成备份文件,并且在 bak 文件夹中会重命名备份文件使用yyyy-MMdd-HHMM-xxx.jar
的格式。
总结
该shell脚本仅仅是一个简单的脚本,可根据实际情况修改脚本内容定制出更加符合自己生产需要的脚本。如果需要备份的文件固定,可以根据文件后缀自动筛选出要备份的文件,例如:ls -lt ./ | grep jar$ | head -n 1|awk '{print $9}'
查找出当前文件夹中的 jar 包文件,则不需要自己再次去指定要备份的文件。