Я бы посоветовал вам не делать этого таким образом. Использование побочных эффектов, например, может ли файл быть найдено кодом запуска, только усложнит отладку и усложнит работу с такими вещами, как ошибки (отказ батареи). Ваш сценарий должен отслеживать переменные, с которыми он связан, и затем действовать соответственно.
Вот переделка вашего скрипта, который смотрит, присутствует ли уже изображение, и только если изображения нет, он будет брать изображения. Он также добавляет механизм, обеспечивающий согласованность времени между выстрелами:
import time
import os
FRAMES = 1000
TIMEBETWEEN = 10
FILENAME = 'firstTLimage % 07d.jpg'
if not os.path.exists(FILENAME % 0):
next_time = time.time()
for frame_count in range(FRAMES):
time.sleep(max(0, next_time - time.time()))
next_time += TIMEBETWEEN
os.system("raspistill -o " + FILENAME % frame_count)
ПРИМЕЧАНИЕ: Я не проверял это, поэтому используйте его в качестве шаблона.
Я думаю, что лучший способ - изменить конфигурацию fail2ban, чтобы фильтровать порт 2222 вместо 22.