Le fichier journal existe et est vide car il est ouvert par le Shell, avant même l'exécution du Shell.
Voir :
$ rm log
rm: log: No such file or directory
$ thatdoesnotexist > log
-bash: thatdoesnotexist: command not found
$ ls log
log
Donc votre script ne s'exécute probablement pas du tout.
Premièrement, pour crontab, il faut toujours spécifier le chemin complet. Ainsi, au lieu de
python DE.py
mettez quelque chose comme (ajustez le chemin bien sûr)
python /usr/local/bin/DE.py
Même chose pour le fichier journal : spécifiez son chemin complet.
Vous n'avez pas précisé de quelle crontab il s'agit, quel utilisateur ? Comment avez-vous entré ces lignes ? Parce que vous devrez vous assurer que l'utilisateur sous lequel cette commande sera exécutée dispose de droits suffisants. Il aura besoin d'un accès en lecture pour lire le fichier Python et l'exécuter, puis d'un accès en écriture sur le chemin du fichier journal pour pouvoir y écrire.
Ce sont les premières étapes que vous devez régler.
Aussi, conseil de passage : avec le bash Shell,
>> DElog.log 2>&1
peut être simplifié en
&>> DElog.log