Issue
- I want to scedual a task with crontab to run a python file in a specific anaconda environment every day at a certain time.
- I also have a python script to do so.
- The pythons script runs if I jsut execute it with
python h.py
in the anaconda evoronment in terminal. h.py is in the home directory - I am usaing Ubuntu 20.04, and i havent refreshed on intalled any new cron or crontab
- I have tried the following commands to get it work but they just do Nothing (the result should be a folder and it is learly not has been created)
crontab -e
Inside the crontab:
#[long descriptional text]
...
53 13 * * * cd /home/ && /home/user/anaconda3/envs/rapids/bin/python h.py
this alos does nothing no error message
I have also tried the following solutions
32 14 * * * cd /home/Documents && /home/user/anaconda3/envs/rapids/bin/python h.py
34 14 * * * cd /home/Documents && /home/anaconda3/envs/rapids/bin/python h.py 2>&1
https://stackoverflow.com/a/64470729/1027059044 14 * * * cd /home/Documents && /home/user/anaconda3/envs/rapids/bin/python h.py >> ~/cron.log 2>&1
- not worked with normal anaconda - https://unix.stackexchange.com/a/572951/400960
58 14 * * * /home/Documents && /home/user/anaconda3/envs/rapids/bin/python home/Documents/h.py >> ~/cron.log 2>&1
59 14 * * * /home/Documents && /home/anaconda3/envs/rapids/bin/python home/Documents/h.py >> ~/cron.log 2>&1
58 14 * * * /home/user/anaconda3/envs/rapids/bin/python home/Documents/h.py
10 15 * * * /home/anaconda3/envs/rapids/bin/python home/Documents/h.py
- Run this for analytics purpose with no results (no file has been created, no printout in terminal)
36 15 * * * /home/anaconda3/envs/rapids/bin/python -c "import sys; sys.stdout.write('out\n'); sys.stderr.write('err\n')" >> /home/so_test.log 2>&1
I have also read teh following solutions but nothing have realy worked
- 1 thinga that may someve that issue is taht I am not sure if I need to isntall a daemon for crontab, like it recomended here: https://askubuntu.com/a/1048365/984498 but I culd not find cronie install for ubuntu
- https://unix.stackexchange.com/questions/300128/how-can-i-run-a-python-script-using-anaconda-from-the-command-line
- https://unix.stackexchange.com/questions/574085/crontab-service-file-not-found-despite-installed-and-configured-crontab
- https://askubuntu.com/questions/1021622/crontab-doesnt-run-python-script
- Execute Python script via crontab
- Crontab python script does not run (with anaconda on linux server)
Solution
If the Python file only need python (not other library)
56 16 * * * /home/MY_ACTUAL_USERNAME/anaconda3/envs/rapids/bin/python /home/MY_ACTUAL_USERNAME/Documents/h.py
If Python file requires other python libraries that is in the anaconda environment:
- create a SHELL script
nano my_sehell_file_name.sh
- Example what should be inside the file
#!/bin/bash
#conda activate rapids WRONG
source ~/anaconda3/bin/activate MY_ANACONDA_ENVIRONMENT_NAME #correct
#python Documents/my_python_file_name.py WRONG SEPARATLY GO TO FOLER WHTAN EXECUTE EITH python
cd ~/Documents/folder_where_python_file_is/ #correct
python my_python_file_name.py #correct
conda deactivate
- start up corntab by
corntab -e
- ex what you can write to the end of this corntab file
43 21 * * * /home/MY_ACTUAL_USERNAME/my_sehell_file_name.sh
Answered By - sogu