commit b9a11f7382e60f6f65c025fe04c3812466f5184b Author: cancerai Date: Wed Aug 5 17:24:12 2026 +0800 服务器自动备份脚本 v1 Signed-off-by: cancerai diff --git a/auto_backup.sh b/auto_backup.sh new file mode 100644 index 0000000..79958df --- /dev/null +++ b/auto_backup.sh @@ -0,0 +1,32 @@ +if [ ! -d ./git ]; then + mkdir git +fi + +if [ ! -d ./nginx ]; then + mkdir nginx +fi + +curr_dir=$(pwd) +datetime=$(date +"%Y_%m_%d_%H_%M_%S") + +echo "[ok] backup time: $(date +"%Y %m %d %H:%M:%S")" +echo '[ok] backup nginx data...' + +ssh -p 2001 root@cancerai.top "cd /home/nginx && tar -czf - -p --atime-preserve ." 2> /dev/null > ${curr_dir}/nginx/${datetime}.tar.gz +nginx_state=$? + +echo "[ok] backup git data..." +ssh -p 2001 root@cancerai.top "cd /home/git && tar -czf - -p --atime-preserve ." 2> /dev/null > ${curr_dir}/git/${datetime}.tar.gz +git_state=$? + +# if successful +if [ ${nginx_state} -eq 0 ]; then + echo "[ok] backup successful!" + echo "[ok] current time: $(date +"%Y %m %d %H:%M:%S")" + echo "exit" +else + echo "[error] backup error, the backup files was deleted" + rm -rf ${curr_dir}/nginx/${datetime}.tar.gz + rm -rf ${curr_dir}/git/${datetime}.tar.gz +fi +