前言:本文由AI辅助完成,请自行核实重要信息。
1.新建bash脚本
nano backup.sh
#进入编辑
# 设置备份源目录和目标目录
SOURCE_DIR="/home/user/documents"
BACKUP_DIR="/backup"
# 获取当前日期,格式为年-月-日_小时-分钟-秒
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
# 设置备份文件的名称
BACKUP_NAME="backup_$DATE.tar.gz"
# 创建备份(使用 tar 命令进行压缩备份)
tar -czf "$BACKUP_DIR/$BACKUP_NAME" -C "$SOURCE_DIR" .
# 输出备份成功的提示信息
echo "备份成功!备份文件:$BACKUP_DIR/$BACKUP_NAME"
SOURCE_DIR="/home/user/documents"
: 这是你要备份的文件夹路径。
BACKUP_DIR="/backup"
: 这是备份文件保存的目标目录。
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
: 获取当前日期和时间,用于为备份文件命名。
tar -czf "$BACKUP_DIR/$BACKUP_NAME" -C "$SOURCE_DIR" .
: 使用tar
命令将源目录中的文件打包并压缩为.tar.gz
格式。-C
选项指定了切换到源目录进行打包,tar
会将源目录下的所有文件打包。.tar.gz
文件就是先使用tar
打包,然后用gzip
压缩后的文件。你也可以看到这种格式有时也被称为.tgz
echo "备份成功!备份文件:$BACKUP_DIR/$BACKUP_NAME"
: 输出备份成功的信息,并显示备份文件的路径。
年份
%Y
:表示四位数的年份(例如:2025)%y
:表示两位数的年份(例如:25)月份与分钟
%m
(小写):表示月份(01 到 12)%M
(大写):表示分钟(00 到 59)日期
%d
:表示一个月中的日子(01 到 31)小时
%H
:表示24小时制的小时(00 到 23)%I
:表示12小时制的小时(01 到 12)
2.更改脚本权限
chmod +x backup.sh
3.打开crontab
crontab -e
4.添加命令
0 2 * * * /path/to/backup.sh
#每天2点执行脚本/path/to/backup.sh
五个星星依次代表:分钟 小时 日 月 星期