Crontab来运行运行多个python脚本的bash脚本
我是linux的初学者。我希望每30秒运行多个python脚本,我计划使用bash脚本(同时运行多个python脚本)和crontab(计划每30秒运行一次脚本) 下面是我的bash脚本的工作方式:Crontab来运行运行多个python脚本的bash脚本,python,linux,bash,cron,Python,Linux,Bash,Cron,我是linux的初学者。我希望每30秒运行多个python脚本,我计划使用bash脚本(同时运行多个python脚本)和crontab(计划每30秒运行一次脚本) 下面是我的bash脚本的工作方式: #!/bin/bash # This script is used to run multiple python script to query all types and all modes of GTFSR data #Set working directory cd "${0%/*}" #
#!/bin/bash
# This script is used to run multiple python script to query all types and all modes of GTFSR data
#Set working directory
cd "${0%/*}"
#BUS Query Real Time
python gtfsrdb_tfnsw.py -p 'https://api.transport.nsw.gov.au/v1/gtfs/vehiclepos/buses' --database="postgresql://localhost/test" —apikey="XXX" -m "buses" -c -1 &
python gtfsrdb_tfnsw.py -t 'https://api.transport.nsw.gov.au/v1/gtfs/realtime/buses' --database="postgresql://localhost/test" --apikey="XXX" -m "buses" -c -1 &
python gtfsrdb_tfnsw.py -a 'https://api.transport.nsw.gov.au/v1/gtfs/alerts/buses' --database="postgresql://localhost/test" --apikey="XXX" -m "buses" -c -1 &
#Sydney Train Real Time
python gtfsrdb_tfnsw.py -p 'https://api.transport.nsw.gov.au/v1/gtfs/vehiclepos/sydneytrains' --database="postgresql://localhost/test" --apikey="XXX" -m "sydneytrains" -c -1 &
python gtfsrdb_tfnsw.py -t 'https://api.transport.nsw.gov.au/v1/gtfs/realtime/sydneytrains' --database="postgresql://localhost/test" --apikey="XXX" -m "sydneytrains" -c -1 &
python gtfsrdb_tfnsw.py -a 'https://api.transport.nsw.gov.au/v1/gtfs/alerts/sydneytrains' --database="postgresql://localhost/test" --apikey="XXX" -m "sydneytrains" -c -1 &
#Ferries Real Time
python gtfsrdb_tfnsw.py -p 'https://api.transport.nsw.gov.au/v1/gtfs/vehiclepos/ferries' --database="postgresql://localhost/test" --apikey="XXX" -m "ferries" -c -1 &
python gtfsrdb_tfnsw.py -t 'https://api.transport.nsw.gov.au/v1/gtfs/realtime/ferries' --database="postgresql://localhost/test" --apikey="XXX" -m "ferries" -c -1 &
python gtfsrdb_tfnsw.py -a 'https://api.transport.nsw.gov.au/v1/gtfs/alerts/ferries' --database="postgresql://localhost/test" --apikey="XXX" -m "ferries" -c -1 &
#lightrail Real Time
python gtfsrdb_tfnsw.py -p 'https://api.transport.nsw.gov.au/v1/gtfs/vehiclepos/lightrail' --database="postgresql://localhost/test" --apikey="XXX" -m "lightrail" -c -1 &
python gtfsrdb_tfnsw.py -t 'https://api.transport.nsw.gov.au/v1/gtfs/realtime/lightrail' --database="postgresql://localhost/test" --apikey="XXX" -m "lightrail" -c -1 &
python gtfsrdb_tfnsw.py -a 'https://api.transport.nsw.gov.au/v1/gtfs/alerts/lightrail' --database="postgresql://localhost/test" --apikey="XXX" -m "lightrail" -c -1 &
#nswtrains Real Time
python gtfsrdb_tfnsw.py -p 'https://api.transport.nsw.gov.au/v1/gtfs/vehiclepos/nswtrains' --database="postgresql://localhost/test" --apikey="XXX" -m "nswtrains" -c -1 &
python gtfsrdb_tfnsw.py -t 'https://api.transport.nsw.gov.au/v1/gtfs/realtime/nswtrains' --database="postgresql://localhost/test" --apikey="XXX" -m "nswtrains" -c -1 &
python gtfsrdb_tfnsw.py -a 'https://api.transport.nsw.gov.au/v1/gtfs/alerts/nswtrains' --database="postgresql://localhost/test" --apikey="XXX" -m "nswtrains" -c -1 &
这是我在crontab中输入的内容:
# GTFSR to Database
* * * * * ( /bin/bash /home/amarinS/projects/TfNSW_GTFSRDB/GTFSR_call)
* * * * * ( sleep 30 ; /bin/bash /home/amarinS/projects/TfNSW_GTFSRDB/GTFSR_call)
如果手动运行/bin/bash/home/amarinS/projects/TfNSW\u GTFSRDB/GTFSR\u call
,bash脚本工作正常。但是,当作业通过CRONTAB运行时,不会发生任何事情
请帮忙
干杯
确保您正在以root用户身份创建cron条目。过去我曾有过这样的经历 验证环境变量和python解释器
确保所有脚本都是可执行的 确保将cron条目创建为root。过去我曾有过这样的经历 验证环境变量和python解释器
确保所有脚本都是可执行的 尝试在bash脚本中放置一个无限循环,并在末尾添加
sleep30
。将此添加到crontab@rebootbin/bash/path/to/script/GTFSR\u call
。并重新启动机器以确保。当您重新启动系统时,您的scrpit将在后台运行。请尝试在bash脚本中放置一个无限循环,并在最后添加sleep 30
。将此添加到crontab@rebootbin/bash/path/to/script/GTFSR\u call
。并重新启动机器以确保。当您重新启动系统时,您的scrpit将在后台运行。我使用sleep 30,因为默认的crontab将每1分钟运行一次。因此,我将第二个作业设置为30秒后运行。这将导致相同的脚本每30秒运行一次。有更好的方法吗?我使用sleep 30,因为默认的crontab每1分钟运行一次。因此,我将第二个作业设置为30秒后运行。这将导致相同的脚本每30秒运行一次。有更好的方法吗?