now=$(date "+%Y-%m-%d %H:%m")
${now}当前时间
${USER}当前登录用户
1.归档文件
需求:对重要数据进行归档备份
要求:输入一个目录名称,将目录下所有文件按天归档保存,并将归档日期附加在归档文件名上,放在指定目录/home/chenzijie/bak下,使用tar,-c表示归档,-z表示同时进行压缩,得到的文件后缀名为.tar.gz
#!/bin/bash
#首先判断输入参数个数是否为1
if [ $# -ne 1 ]
then
echo "输入参数错误,应该输入一个参数,作为归档目录名"]
exit
fi
#从参数中获取指定目录,先判断目录是否存在
if [ -d $1 ]
then
echo "目录存在,开始归档"
else
echo "目录不存在,请重新输入"
exit
fi
DIR_NAME=$(basename $1)
DIR_PATH=$(cd $(dirname $1);pwd )
echo "文件名为:$DIR_NAME"
echo "绝对路径为:$DIR_PATH"
#获取日期
DATE=$(date +%y%m%d)
echo "当前日期$DATE"
#定义文件名
FILE=bak_${DIR_NAME}_$DATE.tar.gz
#保存的目录
DEST=/home/chenzijie/bak/$FILE
#开始归档
echo "开始归档"
tar -czf $DEST $DIR_PATH/$DIR_NAME
if [ $? -eq 0 ]
then
echo "归档成功"
echo "归档文件为$DEST"
else
echo ""归档失败
fi
创建crontab定时任务,每天凌晨两点执行此脚本
0 2 * * * /home/chenzjie/test/filebak.sh