为了防止u盘上重要数据的丢失,我们会将u盘上的文件备份。这里我用bash shell写了一个小脚本,实现每次插入u盘后可以将我自己的u盘上的内容自动备份到指定位置。
如下:
#!/bin/bash
dates=`date "+%Y-%m-%d"`
name=GIK
if [ -d "/media/gikor/$name" ]
then
echo "disk existed"
disk_path="/media/gikor/$name/"
#u盘挂载的位置
back_path="/home/gikor/Documents/disk_backup/"
#备份文件放置的位置
disk_name=${dates}"-$name"
disk_log=${dates}".log"
#创建一个备份记录
tree $disk_path > ${back_path}"$disk_log"
echo $disk_name
echo $disk_log
cd $back_path
mkdir $disk_name
cd $disk_path
cp -R ./* ${back_path}"$disk_name"
fi
echo "end"
这里是一个手动备份的脚本,可以将这个脚本添加到crontab中
# m h dom mon dow command
5 * * * * /home/gikor/Projects/Shell/used/backup_mydisk.sh
执行
crontab -e
从前往后分别为:分 时 天 月 周,这里我设置了每5分钟检测一下是否有u盘插入,如果有的话就会执行最后所写的路径下的任务。
另外,还可以添加一些更人性化的功能,比如:
- 在备份过程中可以将过大的文件(视频文件)过滤掉;
- 自动搜索/media路径下是否有u盘,并解析u盘名字,但是这样的话经常会把别人的u盘也悄无声息的备份到我的电脑上,感觉有点不道德LOL,所以我把这部分又给删了。