1.创建备份脚本bak.sh
#!/bin/bash
SOURCE_FILE="files"
DEST_SERVER="55.98.25.98"
DEST_PATH="/mnt/wiki-bak"
USER="root"
PASSWORD=""
CURRENT_DATE=$(date +%Y%m%d)
BACKUP_FILE="${CURRENT_DATE}_wiki_backup.tar.gz"
tar -cvf ${BACKUP_FILE} ${SOURCE_FILE}
/bin/expect <<EOF
spawn /bin/scp -C -r ${BACKUP_FILE} ${USER}@${DEST_SERVER}:${DEST_PATH}
expect "password:"
send "${PASSWORD}\r"
expect "100%"
expect eof
EOF
sleep 1s
rm -rf ${BACKUP_FILE}
echo "backup is complete!"
2.设置定时任务
crontab -e
0 0 * * * bak.sh
crontab -e 是用于编辑当前用户的crontab文件的命令。crontab是一个用于设置定时任务的工具,允许用户在指定的时间自动执行脚本或命令。
0 0 * * *是时间表达式,表示任务将在每天的午夜(00:00)执行。- 第一个 0 表示分钟(0 分)。
- 第二个 0 表示小时(0 点,即午夜)。
- 第三个 * 表示一个月中的哪一天(每天)。
- 第四个 * 表示月份(每个月)。
- 第五个 * 表示星期几(每天)。
bak.sh是要执行的脚本或命令。
394






