玖叶教程网

前端编程开发入门

使用AI写一个简单的文件备份程序

需求背景:Linux服务器上面的配置文件(nginx、nacos、k8s等,分散在不同的目录)经常会发生变动,所以需要经常备份(根据日期存到指定目录);这样出现误操作时,还可以拯救一下。

这样的程序,本身倒是不难,关键问题是大家都很忙,不能在这个事上面浪费太多时间,要快速出活,这个时候让AI来写代码就非常方便了。

提问:写一个python脚本,将linux上面多个目录下的文件,按日期命名备份到指定目录下。

这个是文心一言给的答案, 在它的基础上,经常简单的调试和修改,就可以使用了,真是太方便了!

import shutil  
import os  
import datetime  
  
# 定义需要备份的目录列表  
source_dirs = [  
    '/path/to/directory1',  
    '/path/to/directory2',  
    '/path/to/directory3'  
]  
  
# 定义备份存储的根目录  
backup_root = '/path/to/backup_root'  
  
# 获取当前日期并格式化  
current_date = datetime.datetime.now().strftime('%Y-%m-%d')  
  
# 构造备份目录的完整路径  
backup_dir = os.path.join(backup_root, current_date)  
  
# 如果备份目录不存在,则创建  
if not os.path.exists(backup_dir):  
    os.makedirs(backup_dir)  
  
# 遍历所有需要备份的目录  
for src_dir in source_dirs:  
    # 构造备份时目录的完整路径(以日期命名)  
    dest_dir = os.path.join(backup_dir, os.path.basename(src_dir))  
      
    # 如果目标目录不存在,则创建  
    if not os.path.exists(dest_dir):  
        os.makedirs(dest_dir)  
  
    # 使用shutil.copytree来复制目录,如果目标目录已存在,则抛出异常  
    # 这里我们通过删除已存在的目标目录来避免异常,注意这可能丢失数据  
    if os.path.exists(dest_dir):  
        shutil.rmtree(dest_dir)  
      
    # 复制目录  
    shutil.copytree(src_dir, dest_dir)  
  
    print(f'Directory {src_dir} has been backed up to {dest_dir}')  
  
print('Backup completed successfully.')

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言