欢迎访问宙启技术站
智能推送

使用Python编写的定时器应用实例:定时备份文件

发布时间:2024-01-01 01:15:40

下面是用Python编写的一个简单的定时器应用实例,用于定时备份文件。这个应用程序可以设置一个时间间隔,在每个时间间隔结束时执行备份操作。

import os
import shutil
import time

def backup_files(source_dir, dest_dir):
    # 获取当前时间戳,用作备份文件名的一部分
    timestamp = time.strftime('%Y%m%d%H%M%S', time.localtime())

    try:
        # 创建目标文件夹(如果不存在)
        os.makedirs(dest_dir, exist_ok=True)

        # 遍历源文件夹中的文件
        for filename in os.listdir(source_dir):
            # 构造源文件的完整路径
            source_path = os.path.join(source_dir, filename)

            # 构造目标文件的完整路径,文件名后面加上时间戳
            dest_path = os.path.join(dest_dir, f'{filename}.{timestamp}')

            # 复制源文件到目标文件夹中
            shutil.copy2(source_path, dest_path)

        print('文件备份成功!')
    except Exception as e:
        print(f'文件备份失败:{e}')

if __name__ == '__main__':
    source_dir = '/path/to/source/directory'  # 替换为要备份的文件夹路径
    dest_dir = '/path/to/destination/directory'  # 替换为备份文件存放的目标文件夹路径
    interval = 60  # 备份的时间间隔(以秒为单位)

    print(f'定时备份程序已启动!每隔 {interval} 秒备份一次。')

    while True:
        # 备份文件
        backup_files(source_dir, dest_dir)

        # 等待指定的时间间隔
        time.sleep(interval)

在使用这个应用程序时,需要替换source_dirdest_dir变量的值为实际的文件夹路径。同时,可以调整interval变量的值来改变备份的时间间隔,默认为60秒。

例如,如果要备份/home/user/Documents文件夹中的文件到/backup文件夹,可以将source_dir设置为/home/user/Documentsdest_dir设置为/backup,然后运行这个应用程序即可。

这个应用程序会每隔一段时间执行一次备份操作,将源文件夹中的所有文件复制到目标文件夹中,并在文件名后面加上当前的时间戳。备份成功后,会在控制台输出文件备份成功!的提示信息,如果备份失败,则会输出具体的错误信息。