Can I set up cgminer to mine in different pools, by a defined ratio? I'm mining in different pools, one is main and I would like to dedicate 80% off the time spent mining on it, but I'm also mining in another and would like to dedicate 20% on that. I know you can set up the config as following:

"pools" : [
    {
        "url" : "http://pool1",
        "user" : "user1",
        "pass" : "123"
    },
    {
        "url" : "http://pool2",
        "user" : "user2",
        "pass" : "123"
    }
]


But is there a way you could define a 80/20 // 70/30 mining setup between the pools so that it mines the first pool for 19 hours, then the second pool for 5 hours (or days)
You can run cgminer --help to see the options or you can just research them online. A good example is this website: https://github.com/pshep/cgminer 

I've never done it but I think you can add a rotate option:
--rotate &lt;arg&gt;      Change multipool strategy from failover to regularly rotate at N minutes (default: 0)

80% / 20% would be roughly 19 hours / 5 hours or 1140 minutes / 300 minutes

Now, with the --rotate &lt;arg&gt; you will rotate the pools regularly, so it's easy to set it to 50/50on two pools, 33/33/33 on three pools etc. 

I think you could achieve an 80/20 split by using a scheduled start and stop times.

--sched-start &lt;arg&gt; Set a time of day in HH:MM to start mining (a once off without a stop time)
--sched-stop &lt;arg&gt;  Set a time of day in HH:MM to stop mining (will quit without a start time)

Say, you start mining at 00:01, you set the rotate setting to 19 hours (1140 minutes), at 7 PM the pools will switch, set a stop time for 23:59 and 2 minutes later the miner should start mining using the first pool again. The only problem could be if after the miner stops, it could start mining still on the second pool, in which case you should start at midnigh, only use the --rotate 1140 and always restart cgminer at midnight manually or maybe using a shell script (or bat if on Windows).