You need to run it, and in non-peak hours is the best time.
Is weekly enough? Well, depends on how long you retain backups. Ideally you should be running CheckDB often enough that should it find corruption restoring from a clean backup without data loss is always an option. So if you only retain 2 days of backups, you ideally want to be running checkDB once every 2 days at minimum.
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)SQL In The Wild
: Discussions on DB performance with occasional diversions into recoverability
We walk in the dark places no others will enter
We stand on the bridge and no one may pass