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.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability