Advertisements
Having issue with the code, I’m getting error with this code, was trying to make script to take a backup of a file scheduled
from datetime import date
import os
import shutil
import schedule
today = date.today()
date_format = today.strftime("%d_%b_%Y_")
src_file_name = "file.txt"
src_folder = "C:\\Users\\Xealtron\\Desktop\\Backup\\BackupFolder"
dest_file_name = "file.txt"
dest_folder = "C:\\Users\\Xealtron\\Desktop\\bup"
def take_backup():
try:
if dest_file_name != "":
dest_file_name = src_file_name
shutil.copy2(os.path.join(src_folder, src_file_name),
os.path.join(dest_folder, date_format + dest_file_name))
except FileNotFoundError:
print("File does not exists,\
please give the complete path")
schedule.every(10).second.do(take_backup())
>Solution :
dest_file_name
is a global variable, as it is defined at the top-level of a script. When you assign a new value to a global variable within a function, you have to declare that variable to be global:
def take_backup():
global dest_file_name # Declare the variable to be global
if dest_file_name != "":
dest_file_name = src_file_name
shutil.copy2(os.path.join(src_folder, src_file_name),
os.path.join(dest_folder, date_format + dest_file_name))