так что, как вы можете видеть, я пытаюсь создать небольшой скрипт резервного копирования для себя, выбрать нужные файлы и выполнить их резервное копирование.
import shutil
import datetime
import os
import time
def backup():
# set the update interval
while True:
backup_interval = input("Please enter the backup interval in seconds: ") # 300
try:
valid_time = int(backup_interval) // 60
print("Backup time set to:", valid_time, "minutes!")
break
except ValueError:
print("This time is not valid, please enter a correct time in seconds: ")
print(">>> 60 seconds = 1 minute, 3600 seconds = 60 minutes.")
backup_file = input(r"Please enter the path for the file to backup: ") # D:\Python\BackupDB\test.db"
dest_dir = input(r"Please enter the destination path: ") # D:\Python\BackupDB\
folder_name = input(r"Please name your backup folder: ") # BD_Backup
now = str(datetime.datetime.now())[:19]
now = now.replace(":", "_")
# backup_file = backup_file.replace(backup_file, backup_file + str(now) + ".db")
# thats why I got the FileNotFoundError
final_destination = os.path.join(dest_dir, folder_name)
if not os.path.exists(final_destination):
os.makedirs(final_destination)
print("hello world")
shutil.copy(backup_file, final_destination)
Первый вопрос: как заменить имя после я скопировал файл в папку назначения, чтобы получить что-то вроде этого test.db -> test_2020-02-23 08_36_22.db как здесь:
source_dir = r"D:\Python\BackupDB\test.db"
destination_dir = r"D:\Python\BackupDB\BD_Backup\test_" + str(now) + ".db"
shutil.copy(source_dir, destination_dir)
вывод:
test_2020-02-23 08_36_22.db
что я делаю не так здесь? и как скопировать файл 5 раз и через некоторое время (backup_interval) удалить первый и переместить последние 4 вверх и создать новый, чтобы у меня было всего 5 копий этого файла?