windows备份文件的命令

cmd备份数据库:

mysqldump -u username -p database_name > path\to\file_name.sql
mysqldump -u username -p=password database_name > file_name.sql

备份某表

mysqldump -u username -p my_database my_table > my_table_backup.sql

还原备份的数据库文件

mysql -u username -p database_name < C:\path\to\file_name.sql -- 可以恢复到其他数据库中

 恢复某表

mysql -u username -p my_database my_table < my_table_backup.sql
-- 从 MySQL 数据库备份中单独恢复某个表需要手动提取所需的 SQL 语句

批处理备份数据库:

@echo off  
rem 设置数据库相关信息  
set DB_USER=my_username  
set DB_PASS=my_password  
set DB_NAME=my_database_name  
set BACKUP_DIR=C:\path\to\backup\directory  

rem 创建备份目录(如果不存在)  
if not exist "%BACKUP_DIR%" (  
    mkdir "%BACKUP_DIR%"  
)  

rem 设置日期格式  
set DATE=%date:~0,4%-%date:~5,2%-%date:~8,2%  

rem 执行备份  
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" -u %DB_USER% -p%DB_PASS% %DB_NAME% > "%BACKUP_DIR%\%DB_NAME%_%DATE%.sql"  

echo Backup completed for database %DB_NAME% on %DATE%.  
pause

批处理备份某表:

@echo off  
rem 设置数据库相关信息  
set DB_USER=my_username  
set DB_PASS=my_password  
set DB_NAME=my_database_name  
set TABLE_NAME=my_table_name  
set BACKUP_DIR=C:\path\to\backup\directory  

rem 创建备份目录(如果不存在)  
if not exist "%BACKUP_DIR%" (  
    mkdir "%BACKUP_DIR%"  
)  
rem 设置日期格式  
set DATE=%date:~0,4%-%date:~5,2%-%date:~8,2%  

rem 执行备份  
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" -u %DB_USER% -p%DB_PASS% %DB_NAME% %TABLE_NAME% > "%BACKUP_DIR%\%TABLE_NAME%_%DATE%.sql"  

echo Backup completed for table %TABLE_NAME% in database %DB_NAME% on %DATE%.  
pause

批处理恢复数据库文件:

@echo off  
rem 设置数据库相关信息  
set DB_USER=my_username  
set DB_PASS=my_password  
set DB_NAME=my_database_name  
set BACKUP_FILE=C:\path\to\backup\directory\my_table_name_YYYY-MM-DD.sql  

rem 执行恢复  
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u %DB_USER% -p%DB_PASS% %DB_NAME% < "%BACKUP_FILE%"  

echo Restore completed for file %BACKUP_FILE% into database %DB_NAME%.  
pause

批处理恢复数据库某表文件:

@echo off  
rem 设置数据库相关信息  
set DB_USER=my_username  
set DB_PASS=my_password  
set DB_NAME=my_database_name  
set TABLE_NAME=my_table_name  
set BACKUP_FILE=C:\path\to\backup\directory\my_table_name_backup.sql  

rem 执行恢复  
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u %DB_USER% -p%DB_PASS% %DB_NAME% < "%BACKUP_FILE%"  

echo Restore completed for table %TABLE_NAME% from %BACKUP_FILE% into database %DB_NAME%.  
pause

批处理备份文件夹:

@echo off
setlocal enabledelayedexpansion

set SOURCE=C:\Users\thinkpad\Desktop\SQL
set TARGET=D:\Backup

if not exist "%TARGET%" mkdir "%TARGET%"

echo Backing up files...
xcopy "%SOURCE%" "%TARGET%" /E /I /Y /C

echo Backup completed.
Pause

@echo off:关闭命令回显,使脚本运行时不显示命令行。

·setlocal enabledelayedexpansion:启用延迟变量扩展,以便在循环中使用变量。

·set SOURCE=C:\Documents:设置源文件夹路径。

·set TARGET=D:\Backup:设置目标文件夹路径。

·if not exist "%TARGET%" mkdir "%TARGET%":如果目标文件夹不存在,则创建它。

·xcopy "%SOURCE%" "%TARGET%" /E /I /Y /C:使用 xcopy 命令复制文件夹。参数说明:

/E:复制所有子文件夹,即使它们为空。

/I:如果目标文件夹不存在,则创建它。

/Y:覆盖现有文件而不提示。

/C:继续复制,即使遇到错误。

·echo Backup completed.:输出备份完成的消息。

·pause:暂停脚本运行,直到用户按下任意键。

如果源文件夹路径最后是一个文件就备份上一级的整个文件夹

python备份文件夹

import shutil
import os

# 定义源文件夹和目标文件夹
source_folder = r"C:\Users\thinkpad\Desktop\sql"
target_folder = r"D:\Backup"

# 确保目标文件夹存在
if not os.path.exists(target_folder):
os.makedirs(target_folder)

# 构建目标文件夹的完整路径
target_folder = os.path.join(target_folder, os.path.basename(source_folder))

# 复制文件夹
print("Backing up folder...")
shutil.copytree(source_folder, target_folder, dirs_exist_ok=True)

# 输出完成消息
print("Backup completed.")

python备份单个文件

import shutil
import os

# 定义源文件和目标文件夹
source_file = r"C:\Users\thinkpad\Desktop\aa.txt"
target_folder = r"D:\Backup"

# 确保目标文件夹存在
if not os.path.exists(target_folder):
os.makedirs(target_folder)

# 构建目标文件路径
target_file = os.path.join(target_folder, os.path.basename(source_file))

# 复制文件
print("Backing up file...")
shutil.copy2(source_file, target_file)

# 输出完成消息
print("Backup completed.")

第一段代码使用 shutil.copytree 函数来递归复制整个文件夹。copytree 会复制所有的文件和子文件夹,并且可以处理目标文件夹已经存在的情况(通过 dirs_exist_ok=True 参数)

第二段代码使用 shutil.copy2 函数来复制单个文件。copy2 会复制文件的元数据

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值